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

Hacking of web server and application

Blog banner

Artical on FreshBooks

Blog banner

Buffering

Blog banner

Scheduling in Operating Systems

Blog banner

Deadlock

Blog banner

Memory management

Blog banner

IT Service Continuity Management

Blog banner

Honeypot in cyber security

Blog banner

Thumb Sucking: When It’s Normal and When It Becomes a Dental Problem

Blog banner

Virtual Machine

Blog banner

LIMITED EDITION

Blog banner

Simple STEM Activities for Toddlers That Spark Curiosity

Blog banner

Segmentation and paging concept

Blog banner

SPAM

Blog banner

Toothache Causes: Common Tooth Pain Reasons & When to See a Dentist

Blog banner

MySQL

Blog banner

Deadlock and Starvation

Blog banner

Types of Threads

Blog banner

Service Transition Process in ITSM

Blog banner

Raising mental health burden: A global and Indian perspective

Blog banner

Goa Trip With Friends

Blog banner

Advantage of freedom

Blog banner

From Websites To Super Apps For Digital User Experience

Blog banner

MD5 Collisions and the impact on computer forensics

Blog banner

It's all about our Brain.- The Brain Metaphor

Blog banner

Deadlocks in operating system

Blog banner

Celebrate Diwali the Delicious Way with Meal Maharaj Catering

Blog banner

Sleep Disorder: The Silent Link Between Sleep and Mental Health

Blog banner

MULTITHREADING:ENHANCEING PERFORMANCE AND EFFICIENCY IN COMPUTING

Blog banner

SQL Injection

Blog banner

Bots and Cyber Security

Blog banner

Concurrency and memory

Blog banner

Virtual memory in os

Blog banner

AI & Data Science in Healthcare – Predicting diseases, medical imaging analysis

Blog banner

Cyber Security Control

Blog banner

In the world of Technology...

Blog banner

Virtual machine.

Blog banner

Memory hierarchy

Blog banner

The Importance of Financial Literacy for College Students

Blog banner

security requirements for safe e-payment

Blog banner

Data Analytics in Data Science

Blog banner

Navigation With Indian Constellation(NavIC) by ISRO in Geographic Information Systems

Blog banner