wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

A small world of Sockets

profile
Ronak Gala
May 17, 2022
0 Likes
0 Discussions
156 Reads

Normally, a server runs on a specific computer and has a socket that is bound to a specific port number. The server just waits, listening to the socket for a client to make a connection request.

On the client-side: The client knows the hostname of the machine on which the server is running and the port number on which the server is listening. To make a connection request, the client tries to rendezvous with the server on the server's machine and port. The client also needs to identify itself to the server so it binds to a local port number that it will use during this connection. This is usually assigned by the system.

A client's connection request

If everything goes well, the server accepts the connection. Upon acceptance, the server gets a new socket bound to the same local port and also has its remote endpoint set to the address and port of the client. It needs a new socket so that it can continue to listen to the original socket for connection requests while tending to the needs of the connected client.

The connection is made

On the client side, if the connection is accepted, a socket is successfully created and the client can use the socket to communicate with the server.

The client and server can now communicate by writing to or reading from their sockets.

 

An endpoint is a combination of an IP address and a port number. Every TCP connection can be uniquely identified by its two endpoints. That way you can have multiple connections between your host and the server.

The java.net package in the Java platform provides a class, Socket, that implements one side of a two-way connection between your Java program and another program on the network. The Socket class sits on top of a platform-dependent implementation, hiding the details of any particular system from your Java program. By using the java.net.Socket class instead of relying on native code, your Java programs can communicate over the network in a platform-independent fashion.

Additionally, java.net includes the ServerSocket class, which implements a socket that servers can use to listen for and accept connections to clients. This lesson shows you how to use the Socket and ServerSocket classes.

If you are trying to connect to the Web, the URL class and related classes (URLConnection, URLEncoder) are probably more appropriate than the socket classes. In fact, URLs are a relatively high-level connection to the Web and use sockets as part of the underlying implementation.


Comments ()


Sign in

Read Next

How Preschools Help Children Make Their First Friends

Blog banner

Different Types of Data

Blog banner

Virtual machine.

Blog banner

Jira Software

Blog banner

Mail merge

Blog banner

Ransomware

Blog banner

Tomato Butter Sauce with Bucatini

Blog banner

Memory Hierarchy

Blog banner

Different types of scam frauds

Blog banner

Oracle Corporation

Blog banner

HACKING MOBILE PLATFORM

Blog banner

Uniprocessor scheduling

Blog banner

Analysis of Digital Evidence In Identity Theft Investigations

Blog banner

Practical Implementation of Client Server model using TCP/IP.

Blog banner

Some facts about Technology

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

Digital Forensics Challenges and Tools

Blog banner

What Makes Patola the Queen of Silk?

Blog banner

GIS Applications: How Different Industries are Leveraging Geospatial Data

Blog banner

File Allocation Methods

Blog banner

Memory Management

Blog banner

Admissions Open: Why This Is the Right Time to Choose the Best School for Your Child

Blog banner

Odoo

Blog banner

Fun Christmas Activities For Toddlers & Kids

Blog banner

Microsoft Windows Overview

Blog banner

Memory heirchy

Blog banner

Cyber Forensics in Healthcare: Protecting Patient Data and Preventing Breaches

Blog banner

PERT Overview

Blog banner

LINUX VSERVER VIRTUAL MACHINE ARCHITECTURE

Blog banner

Google App Engine

Blog banner

Twisted world

Blog banner

Major achievement

Blog banner

The Evolution of the Microprocessor ~ Aditya Pai

Blog banner

Data Science & AI

Blog banner

Having passion in life

Blog banner

Digital black market or dark net poses a national security threat?

Blog banner

1.1 basic elements

Blog banner

File Sharing

Blog banner

Data Science in Everyday Life (like a phone, shopping cart, or social media icons)

Blog banner

Monday. com App

Blog banner

You'll get to know about Pankaj Negi

Blog banner

How HRMS, Task Management, and Team Chats Can Improve Workplace Productivity

Blog banner