Table of Contents
Socket Class Methods
TCP/IP Socket Programming
Method 1 – Creating a Server Socket Program
Method 2 – Creating a Simple Server Socket Program
Conclusion
Home Java javaTutorial Socket Programming in Java

Socket Programming in Java

Aug 30, 2024 pm 04:27 PM
java

The World Wide Web and Internet have changed the way we live and communicate with each other and the way we conduct science, engineering, and commerce. Modern life is completely being driven around or being centered around the Internet. Businesses continuously seek new ways to produce and communicate with various services in a new fashion introducing innovation. In this article, we will discuss Socket Programming in Java.

Sockets provide an interface for programming networks of the transport layer of the OSI model. Network communications using sockets are found ubiquitously throughout the Internet. In addition to that, a socket program written in Java can communicate with a socket program written in a non-Java language like C, C++, Python, etc.

ADVERTISEMENT Popular Course in this category PROGRAMMING LANGUAGES - Specialization | 54 Course Series | 4 Mock Tests

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Socket Class Methods

Socket Class methods are found in Java. A socket is bound to be a port number so that the TCP recognizes the port number in which the data is to be sent. Java provides a set of classes, one of which is java.net. This is used for the fast development of network applications. Key classes, interfaces, and exceptions that are present in the java.net package simplify the complexity involved in creating client and server programs are:

Classes are:

  • Content Handler
  • Datagram Packet
  • Datagram Socket
  • Datagram Socket Imp 1
  • HTTP URL Connection
  • I net address
  • Multicast Socket
  • Server Socket
  • Socket
  • Socket Imp 1
  • URL
  • URL Connection
  • URL Encoder
  • URL Stream Handler

Interfaces are:

  • Content Handler Factory
  • File Name Map
  • Socket Impl Factory
  • URL Stream Handler Factory

Exceptions are:

  • Bind Exception
  • Connect Exception
  • Malformed URL Exception
  • No Route To Host Exception
  • Protocol Exception
  • Socket Exception
  • Unknown Host Exception
  • Unknown Service Exception

TCP/IP Socket Programming

There are two classes used from the java.net package which are used in the creation of programs.

  • Server Socket
  • Socket

A server program communicates through input and output streams. If there is a connection request, then there is a new socket that comes into play, and here is a connection established with it.

Socket Programming in Java

Method 1 – Creating a Server Socket Program

There are various steps for creating a server socket program in Java.

The simple steps of creating a server socket program are as follows:

Step 1: The Socket Server is Opened.

Server Socket General= new Server Socket(PO)
Copy after login

Here PO is the port number.

Here the Port number is assigned to the server network through which it will communicate using Input/ Output streams.

Step 2: There is a Client Request for which we have to Patiently Wait.

Socket General= server. accept()
Copy after login

Here is the Server. accept() waits for the client, and the name of the socket is Client here.

Step 3: I/O Streams are Created so that a Connection is Established

Data Input Stream

is = new Data Input Stream(client. Get Input Stream());
Copy after login

Data Output Stream

os = new Data Output Stream(client. get Output Stream());
Copy after login

The input stream and the output stream are assigned their Get Input Stream(), and they are called respectively.

Step 4: Contact with the Client is Created.

Receive from client:

string hello = br. Read Line();
Copy after login

Send it to the client:

br. Write Bytes("How are you\n");
Copy after login

The following code communicates with the client receiving and sending to a client the requests.

Step 5: Finally, the Socket is made to Exit.

Finally, the close socket function is used to close and end the socket programming.

A simple example of a server socket is shown below:

A simple program for connecting the server.

Code:

import java.net.*;
import java.io.*;
public class SimpleMachine {
public static void main(String args[]) throws IOException {
// On port 1362 server port is registered
ServerSocket soc = new ServerSocket(1362);
Socket soc1=soc.accept(); // Link is accepted after waiting
// Linked with the socket there should be a connection
OutputStream s1out = soc1.getOutputStream();
DataOutputStream dosH = new DataOutputStream (s1out);
// A string command is sent
dosH.writeUTF("Hello how are you");
// The connection can be closed but the server socket cannot.
dosH.close();
s1out.close();
soc1.close();         }
}
Copy after login

Method 2 – Creating a Simple Server Socket Program

Now we are going to see a Simple Client Program in Java.

The steps for creating a simple client program in Java is shown below:

Step 1: Socket Object is Made.

Socket client= new Socket(server, port_id)
Copy after login

The server and the Port ID are connected; that is, the server is connected to the Port ID.

Step 2: Input/Output Streams are Created.

is = new Data Input Stream(client.getInputStream());
Copy after login
os = new Data Output Stream(client.getOutputStream());
Copy after login

The Input Stream is, and Output Stream os is used for communicating with the client.

Step 3: Input/Output streams are made for talking to the Client.

Data is read from the server:

string hello = br. readLine();
Copy after login

Send data to the server:

br.writeBytes("How are you\n")
Copy after login

This step communicates with the server. The input stream and output stream both communicates with the server.

Step 4: Close the Socket when done.

This function will close the client when it is finally done.

An example of a simple server socket program is shown below.

A simple program for the client.

Code:

import java.net.*;
import java.io.*;
public class SimpleMachineClient {
public static void main(String args[]) throws IOException
{
// At port 1325, connection to the server is opened
Socket s1H = new Socket("host",1325);
// Read the input stream by getting an input file from the socket
Input Stream s1I = s1. getInputStream();
Data Input Stream disH = new Data Input Stream(s1In);
String str = new String (disH.readUTF());
System.out.println(str);
// After it is done, we can close the connection.
disH.close();
s1I.close();
s1H.close();
}
}
Copy after login

Conclusion

Socket programming is beneficial in Java and in any other programming language. A program written in Java can connect with a program written in C or C++. In other words, the language of the socket program doesn’t matter when there has to be a connection between the two. In this article, we have basically seen the Simple Server and the Simple Client example where there is a connection between the server socket and in the other, there is a connection between the server socket. We have used TCP/IP programming for the same. However, there are a lot of programming techniques like UDP programming techniques and URL programming techniques. We have not seen examples of such in this article. We have stressed on TCP/IP programming technique.

The above is the detailed content of Socket Programming in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP vs. Python: Core Features and Functionality PHP vs. Python: Core Features and Functionality Apr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

See all articles