121ax007 CN Exp 10
121ax007 CN Exp 10
PRN: 121AX007
SUBJECT: COMPUTER NETWORKS.
EXPERIMENT NO – 10
THEORY:
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.
#Socket class
A socket is simply an endpoint for communications between the
machines. TheSocket class can be used to create a socket.
#ServerSocket class
The ServerSocket class can be used to create a server socket. This
object is used to establish communication with the clients.
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 connect 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:
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.
Socket s=new Socket("localhost",6666);
NAME: OM SANJAY BHONGALE
PRN: 121AX007
SUBJECT: COMPUTER NETWORKS.
CODE:
MyServer.java file
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);}
}
}
MyClient.java file -
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");
dout.flush();
dout.close();
s.close();
}catch(Exception e){System.out.println(e);}
}
}
NAME: OM SANJAY BHONGALE
PRN: 121AX007
SUBJECT: COMPUTER NETWORKS.
OUTPUT:
To execute this program open two command prompts and execute
eachprogram at each command prompt as displayed in the below
figures.
Running MyServer.java
Running MyClient.java