0% found this document useful (0 votes)
15 views

Java Socket Programming (Java Networking Tutorial) - javatpoint

Java Sockets

Uploaded by

Walid Chaib
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Java Socket Programming (Java Networking Tutorial) - javatpoint

Java Sockets

Uploaded by

Walid Chaib
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

Java Tutorial

What is Java

History of Java

Features of Java

C++ vs Java

Hello Java Program

Program Internal

How to set path?

JDK, JRE and JVM

JVM: Java Virtual Machine

Java Variables

Java Data Types

Unicode System

Operators

Keywords

DoubleBuffer limit() methods in Java with Examples

Java short Keyword

Java long Keyword

Java Versions History

Java String valueOf()

Java Integer getInteger() Method

Control Statements

https://www.javatpoint.com/socket-programming 1/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Java Control Statements

Java If-else

Java Switch

Java For LoopAdvertisement

Java While Loop

Java Do While Loop

← prev next →

Java Socket Programming


Java Socket programming is used for communication between the applications running
on different JRE.

Java Socket programming can be connection-oriented or connection-less.

Socket and ServerSocket classes are used for connection-oriented socket programming
and DatagramSocket and DatagramPacket classes are used for connection-less socket
programming.

The client in socket programming must know two information:


Home Python Java JavaScript HTML SQL PHP

https://www.javatpoint.com/socket-programming 2/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

1. IP Address of Server, and


2. Port number.

Here, we are going to make one-way client and server communication. In this
application, client sends a message to the server, server reads the message and prints it.
Here, two classes are being used: Socket and ServerSocket. The Socket class is used to
Advertisement
communicate client and server. Through this class, we can read and write message. The
ServerSocket class is used at server-side. The accept() method of ServerSocket class
blocks the console until the client is connected. After the successful connection of client,
it returns the instance of Socket at server-side.

Socket class
A socket is simply an endpoint for communications between the machines. The Socket
class can be used to create a socket.

Important methods
Method Description

https://www.javatpoint.com/socket-programming 3/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

1) public InputStream returns the InputStream attached with


getInputStream() this socket.

2) public OutputStream returns the OutputStream attached


getOutputStream() with this socket.
Advertisement
3) public synchronized void close() closes this socket

ServerSocket class
The ServerSocket class can be used to create a server socket. This object is used to
establish communication with the clients.

Important methods
Method Description

1) public Socket accept() returns the socket and establish a


connection between server and client.

2) public synchronized void close() closes the server socket.

Example of Java Socket Programming


Creating Server:

To create the server application, we need to create the instance of ServerSocket class.
Here, we are using 6666 port number for the communication between the client and
server. You may also choose any other port number. The accept() method waits for the
client. If clients connects with the given port number, it returns an instance of Socket.

ServerSocket ss=new ServerSocket(6666);


Socket s=ss.accept();//establishes connection and waits for the client

Creating Client:

https://www.javatpoint.com/socket-programming 4/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

To create the client application, we need to create the instance of Socket class. Here, we
need to pass the IP address or hostname of the Server and a port number. Here, we are
using "localhost" because our server is running on same system.
Advertisement

Socket s=new Socket("localhost",6666);

Let's see a simple of Java socket programming where client sends a text and server
receives and prints it.

File: MyServer.java

import java.io.*;
import java.net.*;
public class MyServer {
public static void main(String[] args){
try{
ServerSocket ss=new ServerSocket(6666);
Socket s=ss.accept();//establishes connection
DataInputStream dis=new DataInputStream(s.getInputStream());
String str=(String)dis.readUTF();
System.out.println("message= "+str);
ss.close();
}catch(Exception e){System.out.println(e);}
}
}

File: MyClient.java

import java.io.*;
import java.net.*;
public class MyClient {
public static void main(String[] args) {
try{
Socket s=new Socket("localhost",6666);
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
dout.writeUTF("Hello Server");

https://www.javatpoint.com/socket-programming 5/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

dout.flush();
dout.close();
s.close();
}catch(Exception e){System.out.println(e);}
}
} Advertisement

download this example


To execute this program open two command prompts and execute each program at
each command prompt as displayed in the below figure.

After running the client application, a message will be displayed on the server console.

Example of Java Socket Programming (Read-Write both side)


In this example, client will write first to the server then server will receive and print the
text. Then server will write to the client and client will receive and print the text. The step
goes on.

https://www.javatpoint.com/socket-programming 6/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

File: MyServer.java

import java.net.*;
import java.io.*;
class MyServer{
public static void main(String args[])throws Exception{
ServerSocket ss=new ServerSocket(3333);
Socket s=ss.accept();
DataInputStream din=new DataInputStream(s.getInputStream());
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str="",str2="";
while(!str.equals("stop")){
str=din.readUTF();
System.out.println("client says: "+str);
str2=br.readLine();
dout.writeUTF(str2);
dout.flush();
}
din.close();
s.close();
ss.close();
}}

File: MyClient.java

import java.net.*;
import java.io.*;
class MyClient{
public static void main(String args[])throws Exception{
Socket s=new Socket("localhost",3333);
https://www.javatpoint.com/socket-programming 7/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

DataInputStream din=new DataInputStream(s.getInputStream());


DataOutputStream dout=new DataOutputStream(s.getOutputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str="",str2="";
while(!str.equals("stop")){
Advertisement

str=br.readLine();
dout.writeUTF(str);
dout.flush();
str2=din.readUTF();
System.out.println("Server says: "+str2);
}

dout.close();
s.close();
}}

Next Topic URL class

← prev next →

https://www.javatpoint.com/socket-programming 8/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 9/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 10/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 11/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 12/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 13/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 14/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 15/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

Latest Courses  

https://www.javatpoint.com/socket-programming 16/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 17/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 18/19
23/11/2024 20:36 Java Socket Programming (Java Networking Tutorial) - javatpoint

Advertisement

https://www.javatpoint.com/socket-programming 19/19

You might also like