wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

A small world of Sockets

profile
Ronak Gala
May 17, 2022
0 Likes
0 Discussions
152 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

Deadlock

Blog banner

Embracing the power of Modern Machine UNIX

Blog banner

IT service level agreement

Blog banner

Decrypting Cryptocurrency: Tracing Transactions in Cyber Investigations

Blog banner

File management

Blog banner

Virtual memory in Operating System

Blog banner

Memory Management

Blog banner

NIKE

Blog banner

Use case of K-means clustering

Blog banner

Operating system

Blog banner

Blockchain uses and use cases

Blog banner

Information of meesho company

Blog banner

From Procrastinator to Performer: How to Beat the Last-Minute Rush

Blog banner

Love is in air.....

Blog banner

Social Media Marketing Trends 2022

Blog banner

Virtualisation

Blog banner

Human Error: The weakest link in Cybersecurity

Blog banner

Utilizing Data-Hiding and Retrieval Techniques in Cyber Forensics

Blog banner

Sagar Parikrama

Blog banner

note taker app

Blog banner

Knowledge Management in Continual Service improvement (CSI)

Blog banner

BLOCKCHAIN MACHANISM

Blog banner

World’s rarest passport owned by 500 people.

Blog banner

Traditional Unix System

Blog banner

RAID

Blog banner

Docker Framework

Blog banner

GIS in Mapping and landslide alert in Bangladesh

Blog banner

EVOLUTION OF THE MIRCOPROCESSOR

Blog banner

Install Ubuntu in Vmware

Blog banner

Automating OSINT tasks for efficient Cyber Forensics Investigations

Blog banner

Blockchain technology: security risk and prevention

Blog banner

Mango Raisin Chutney (sweet mango raisin spread)

Blog banner

Distributed Denial of Service (DDoS) attack

Blog banner

Modern operating system

Blog banner

10 Reasons to date your best friend

Blog banner

Uniprocessor Scheduling

Blog banner

Principal of concurrency

Blog banner

BIRYANI ! The history you never knew about

Blog banner

Evolution of Operating system.

Blog banner

Why Mumbai Professionals Are Switching Back to Home-Style Tiffin Meals

Blog banner

Why is online marketing is important in current scenario

Blog banner

differentiate thinking humanly and rationally

Blog banner