SlideShare a Scribd company logo
Network Programming
http://www.java2all.com
Introduction
http://www.java2all.com
Network Programming Introduction
Java supports Network Programming to communicate
with other machines.
Let`s start with Network Programming Introduction.
http://www.java2all.com
Network Programming Introduction
As we all know that Computer Network means a group of
computers connect with each other via some medium and transfer
data between them as and when require.
Java supports Network Programming so we can make such
program in which the machines connected in network will send and
receive data from other machine in the network by programming.
The first and simple logic to send or receive any kind of data
or message is we must have the address of receiver or sender. So
when a computer needs to communicate with another computer, it`s
require the other computer’s address.
Java networking programming supports the concept of
socket. A socket identifies an endpoint in a network. The socket
communication takes place via a protocol.
http://www.java2all.com
The Internet Protocol is a lower-level, connection less (means
there is no continuing connection between the end points) protocol for
delivering the data into small packets from one computer (address) to
another computer (address) across the network (Internet). It does not
guarantee to deliver sent packets to the destination.
The most widely use a version of IP today is IPv4, uses a 32 bit
value to represent an address which are organized into four 8-bits chunks.
However new addressing scheme called IPv6, uses a 128 bit value to
represent an address which are organized into four 16-bits chunks. The
main advantage of IPv6 is that it supports much larger address space than
does IPv4. An IP (Internet Protocol) address uniquely identifies the
computer on the network.
IP addresses are written in a notation using numbers separated by
dots is called dotted-decimal notation. There are four 8 bits value between
0 and 255 are available in each IP address such as 127.0.0.1 means local-
host, 192.168.0.3 etc.
http://www.java2all.com
It`s not an easy to remember because of so many numbers, they
are often mapped to meaningful names called domain names such as
mail.google.com There is a server on Internet who is translate the host
names into IP addresses is called DNS (Domain Name Server).
NOTE: Internet is the global network of millions of computer and
the any computer may connect the Internet through LAN (Local Area
Network), Cable Modem, ISP (Internet Service Provider) using dialup.
When a user pass the URL like java2all.com in the web-browser
from any computer, it first ask to DNS to translate this domain name into
the numeric IP address and then sends the request to this IP address. This
enables users to work with domain names, but the internet operates on IP
addresses.
Here in java2all.com the “com” domain is reserved for commercial
sites; then “java2all” is the company name.
http://www.java2all.com
The Higher-level protocol used in with the IP are TCP (Transmission
Control Protocol) and UDP (User Datagram Protocol).
The TCP enables two host to make a connection and exchange the
stream of data, so it`s called Stream-based communication. TCP guarantees
delivery of data and also guarantees that streams of data will be delivered
in the same order in which they are sent. The TCP can detect the lost of
transmission and so resubmit them and hence the transmissions are
lossless and reliable.
The UDP is a standard, directly to support fast, connectionless host-
to-host datagram oriented model that is used over the IP and exchange the
packet of data so it`s called packet-based communication. The UDP cannot
guarantee lossless transmission.
JAVA supports both TCP and UDP protocol families.
http://www.java2all.com
Java InetAddress Class
http://www.java2all.com
Java InetAddress Class is used to encapsulate the two thing.
1. Numeric IP Address
2. The domain name for that address.
The InetAddress can handle both IPv4 and IPv6 addressses. It has
no visible constructors so to create its object, the user have to use one of
the available in-built static methods.
The commonly used InetAddress in-built methods are:
(1) getLocalHost(): It returns the InetAddress object that represents the
local host contain the name and address both. If this method unable to
find out the host name, it throw an UnknownHostException.
Syntax:
Static InetAddress getLocalHost() throws UnknownHostException
http://www.java2all.com
(2) getByName(): It returns an InetAddress for a host name passed to it as
a parameter argument. If this method unable to find out the host name, it
throw an UnknownHostException.
Syntax:
Static InetAddress getByName(String host_name) throws
UnknownHostException
(3) getAllByName(): It returns an array of an InetAddress that represent all
of the addresses that a particular name resolve to it. If this method can’t
find out the name to at least one address, it throw an
UnknownHostException.
Syntax:
Static InetAddress[] getAllByName(String host_name) throws
UnknownHostException
http://www.java2all.com
Program: Write down a program which demonstrate an InetAddress class.
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddress_Demo
{
public static void main(String[] args)
{
String name = “”;
try {
System.out.println(“HOST NAME - Numeric Address : “+InetAddress.getLocalHost());
InetAddress ip = InetAddress.getByName(name);
System.out.println(“HOST DEFAULT-NAME / IP :”+ip);
System.out.println(“HOST IP-ADDRESS : “+ip.getHostAddress());
System.out.println(“HOST DEFAULT-NAME : “+ip.getHostName());
}
catch (UnknownHostException e) {
System.out.println(“Not find the IP-ADDRESS for :”+name);
}
}
}
Output:
HOST NAME - Numeric Address : Ashutosh-
2c89cd5e0a/127.0.0.1
HOST DEFAULT-NAME / IP : localhost/127.0.0.1
HOST IP-ADDRESS : 127.0.0.1
HOST DEFAULT-NAME : localhost
http://www.java2all.com
socket programming in java
http://www.java2all.com
socket programming in java is very important topic and concept of
network programming.
Java network Programming supports the concept of socket. A
socket identifies an endpoint in a network. The socket communication take
place via a protocol.
A socket can be used to connect JAVA Input/Output system to other
programs that may resides either on any machine on the Internet or on the
local machine.
http://www.java2all.com
TCP/IP Sockets:
TCP/IP sockets are used to implement point-to-point, reliable,
bidirectional, stream-based connections between hosts on the Internet.
There are two types of TCP sockets available in java:
(1) TCP/IP Client Socket
(2) TCP/IP Server Socket
(1) TCP/IP Client Socket:
The Socket class (available in java.net package) is for the Client Socket.
It is designed to connect to server sockets and initiate protocol exchange.
There are two constructers used to create client sockets type object.
(a) Socket(String host_name,int port) throws
UnknownHostException,IOException it creates a socket that is
connected to the given host_name and port number.
http://www.java2all.com
(b) Socket(InetAddress ip,int port) throws IOException it creates a
socket using a pre-existing InetAddress object and a port number.
(2) TCP/IP Server Socket:
The ServerSocket class (available in java.net package) is for the
Server. It is designed to be a “listener”, which waits for clients to connect
before doing anything and that listen for either local or remote client
programs to connect to them on given port.
When you create ServerSocket it will register itself with the system
as having an interest in client connection.
Syntax:
ServerSocket(int port) throws IOException
http://www.java2all.com
Program: Write down a program which demonstrate the Socket programming
for passing the message from server to client.
Client.java:
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
System.out.println(“Sending a request.....”);
try {
Socket s = new Socket(“127.0.0.1”,1564);
System.out.println(“connected successfully.....”);
BufferedReader br = new BufferedReader(new
InputStreamReader(s.getInputStream()));
System.out.println(“response from server...”);
System.out.println(“Client side : “+br.readLine()); s.close();
}
catch (UnknownHostException e) {
System.out.println(“Not find the IP-ADDRESS for :”+e);
}
catch (IOException e) {
System.out.println(“Not Found data for Socket : “+e);
}
}
}
http://www.java2all.com
Server.java:
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server
{
public static void main(String[] args)
{
try
{
ServerSocket ss = new ServerSocket(1564);
System.out.println("waiting for request....");
Socket s = ss.accept();
System.out.println("Request accepted");
PrintStream ps = new PrintStream(s.getOutputStream());
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Input the data at server : ");
ps.print(br.readLine());
s.close();
ss.close();
}
catch (Exception e)
{
System.out.println("Not Found data for Socket : "+e);
}
}
} http://www.java2all.com
For Output follow the below step:
(1) Run server.java
Console:
waiting for request....
(2) Run Client.java
Console:
waiting for request....
Request accepted
Input the data at server:
(3) Now enter the message at console
Input the data at server:
welcome at server
(4) Then press Enter.
http://www.java2all.com
(5) Sending a request.....
connected successfully.....
response from server...
Client side: welcome at server
Program 2: Write down a program for addition the two different
variable by Socket programming.
Program 3: Write down a program which demonstrate the Socket
programming for passing the message from client to server and also apply
EXIT properties.
http://www.java2all.com
java socket programming example
http://www.java2all.com
Two variable addition and passing message from client to server
two different java socket programming example is given below but before
going through program directly you should have some knowledge about
Java Network Programming and Socket.
These both things are already available in previous chapter so you
can learn from there.
Now let`s move to program 1.
http://www.java2all.com
Program: Write down a program for addition the two different
variable by Socket programming.
Client_Addition.java:
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Client_Addition
{
public static void main(String[] args) {
try {
Socket s = new Socket("127.0.0.1",1868);
PrintStream ps = new PrintStream(s.getOutputStream());
Scanner sc = new Scanner(System.in);
System.out.println("Enter first value: ");
int i1 = sc.nextInt();
ps.println(i1);
ps.flush();
System.out.println("Enter second value: ");
int i2 = sc.nextInt();
ps.println(i2);
ps.flush();
s.close();
}
catch (UnknownHostException e) {
System.out.println("Not find the IP-ADDRESS for :"+e);
}
catch (IOException e) {
System.out.println("Not Found data for Socket : "+e);
}
}
http://www.java2all.com
Server_Addition.java
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server_Addition
{
public static void main(String[] args)
{
try
{
System.out.println("Server run successfully......");
ServerSocket sc = new ServerSocket(1868);
Socket s = sc.accept();
BufferedReader br = new BufferedReader(new
InputStreamReader(s.getInputStream()));
int i1 = Integer.parseInt(br.readLine());
int i2 = Integer.parseInt(br.readLine());
System.out.println("Addition: "+(i1+i2));
s.close();
sc.close();
}
catch (IOException e)
{
System.out.println("Not Found data for Socket : "+e);
}
}
} http://www.java2all.com
For Output follow the below step:
(1) Run Server_Addition.java
Console:
Server run successfully......
(2) Run Client.java
Console:
Enter first value:
5
Enter second value:
25
(3) Now, press Enter
(4) Server run successfully......
Addition: 30
http://www.java2all.com
java socket programming example 2:
Program: Write down a program which demonstrate the Socket
programming for passing the message from client to server and also
apply EXIT properties.
Client.java:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client
{
public static void main(String[] args) {
System.out.println("Sending a request.....");
Try {
Socket s = new Socket("127.0.0.1",1235);
System.out.println("connected successfully.....");
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
PrintStream ps = new PrintStream(s.getOutputStream());
BufferedReader brs = new BufferedReader(new
InputStreamReader(s.getInputStream()));
while(true)
{
System.out.println("input the data....");
String st = br.readLine();
ps.println(st);
http://www.java2all.com
if(st.equals("exit"))
{
System.exit(1);
}
System.out.println("data returned");
System.out.println(st);
}
}
catch (UnknownHostException e)
{
System.out.println("Not find the IP-ADDRESS for :"+e);
}
catch (IOException e)
{
System.out.println("Not Found data for Socket : "+e);
}
}
}
http://www.java2all.com
Server.java:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server
{
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(1235);
System.out.println("waiting for request....");
Socket s = ss.accept();
System.out.println("Request accepted");
BufferedReader br = new BufferedReader(new
InputStreamReader(s.getInputStream()));
while(true)
{
String st = br.readLine();
if(st.equals("exit")==true)
{
System.out.println("connection lost.....");
System.exit(1);
}
System.out.println("Message from client: "+st);
}
}
catch (IOException e) {
System.out.println("Not Found data for Socket : "+e);
}
}
}
http://www.java2all.com
For Output follow the below step:
(1) Put the both file in the bin folder at jdk.
For example: C:Program Files (x86)Javajdk1.6.0bin.
(2) Open Command Prompt & reach up to bin path.
http://www.java2all.com
(3) Compile the Server.java & Client.java
…bin>javac Server.java
…bin>javac Client.java
(4) Run the Server.java
…bin>java Server
http://www.java2all.com
(5) Open new command prompt:
(6) Now revise step-2.
(7) Run the Client.java.
…bin>java Client
http://www.java2all.com
Check the Message at Server Side Command Prompt.
(8) Write down the message on Client Side Command Prompt Like:
Input the data…
Ashutosh
(9) Now Press Enter & Check the Output at Both Windows.
http://www.java2all.com
http://www.java2all.com
(10) If want to Exit then type exit on Client side Window.
Like: Input the data…
exit
http://www.java2all.com

More Related Content

PPTX
05 Clustering in Data Mining
PPT
Network programming in Java
PPTX
Introduction to Linux
PDF
Unit-4 networking basics in java
PPTX
Functions of management
PPT
Query processing-and-optimization
PPTX
Spreadsheets and databases
PPTX
Powerpoint for data communication
05 Clustering in Data Mining
Network programming in Java
Introduction to Linux
Unit-4 networking basics in java
Functions of management
Query processing-and-optimization
Spreadsheets and databases
Powerpoint for data communication

What's hot (20)

PPTX
Java Server Pages(jsp)
PPSX
JDBC: java DataBase connectivity
PPTX
Servlets
PPT
JDBC Architecture and Drivers
PPT
SQLITE Android
PPT
Java Servlets
PPTX
Android activity lifecycle
PDF
Servlet and servlet life cycle
PDF
Java I/o streams
PPTX
Java Beans
PPTX
Java - Sockets
PPT
Java Networking
PPTX
Packages in java
PPTX
Introduction to Node.js
PPT
JAVA OOP
PDF
Remote Method Invocation in JAVA
PDF
Introduction to Java Programming Language
PPTX
Notification android
PPTX
graphics programming in java
Java Server Pages(jsp)
JDBC: java DataBase connectivity
Servlets
JDBC Architecture and Drivers
SQLITE Android
Java Servlets
Android activity lifecycle
Servlet and servlet life cycle
Java I/o streams
Java Beans
Java - Sockets
Java Networking
Packages in java
Introduction to Node.js
JAVA OOP
Remote Method Invocation in JAVA
Introduction to Java Programming Language
Notification android
graphics programming in java
Ad

Viewers also liked (10)

PDF
PPT
Ppt of socket
PPTX
Networking in Java
PPTX
Handling I/O in Java
PPT
Socket programming-tutorial-sk
PPT
A Short Java Socket Tutorial
PPT
Socket Programming Tutorial
PPT
Networking Java Socket Programming
PDF
Java Course 8: I/O, Files and Streams
PPT
Socket programming
Ppt of socket
Networking in Java
Handling I/O in Java
Socket programming-tutorial-sk
A Short Java Socket Tutorial
Socket Programming Tutorial
Networking Java Socket Programming
Java Course 8: I/O, Files and Streams
Socket programming
Ad

Similar to Network programming in java - PPT (20)

PPTX
PPTX
Java networking
PPT
Unit 8 Java
PPT
Md13 networking
PPTX
DOCX
Lab manual cn-2012-13
PPT
Network Programming in Java
PPTX
Advance Java-Network Programming
PPT
Basic Networking in Java
PPT
Networking & Socket Programming In Java
PPT
Network programming in Java
PDF
Module 1 networking basics-2
PPTX
PPT
Socket Programming it-slideshares.blogspot.com
PDF
28 networking
PPTX
Tcp/ip server sockets
PPT
Sockets
PDF
Networking
PPTX
Networking
PPTX
Chapter 4
Java networking
Unit 8 Java
Md13 networking
Lab manual cn-2012-13
Network Programming in Java
Advance Java-Network Programming
Basic Networking in Java
Networking & Socket Programming In Java
Network programming in Java
Module 1 networking basics-2
Socket Programming it-slideshares.blogspot.com
28 networking
Tcp/ip server sockets
Sockets
Networking
Networking
Chapter 4

More from kamal kotecha (20)

PPS
Java Hibernate Programming with Architecture Diagram and Example
PPT
Java servlet life cycle - methods ppt
PPS
Java rmi example program with code
PPS
Java rmi
PPS
Jdbc example program with access and MySql
PPS
Jdbc api
PPS
Jdbc architecture and driver types ppt
PPS
Java Exception handling
PPS
JSP Error handling
PPS
Jsp element
PPS
Jsp chapter 1
PPS
String and string buffer
PPS
Wrapper class
PPS
Packages and inbuilt classes of java
PPS
Interface
PPS
Inheritance chepter 7
PPS
Class method
PPS
Introduction to class in java
PPS
Control statements
PPTX
Jsp myeclipse
Java Hibernate Programming with Architecture Diagram and Example
Java servlet life cycle - methods ppt
Java rmi example program with code
Java rmi
Jdbc example program with access and MySql
Jdbc api
Jdbc architecture and driver types ppt
Java Exception handling
JSP Error handling
Jsp element
Jsp chapter 1
String and string buffer
Wrapper class
Packages and inbuilt classes of java
Interface
Inheritance chepter 7
Class method
Introduction to class in java
Control statements
Jsp myeclipse

Recently uploaded (20)

PPT
Project quality management in manufacturing
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
DOCX
573137875-Attendance-Management-System-original
PPTX
web development for engineering and engineering
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Well-logging-methods_new................
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Project quality management in manufacturing
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Model Code of Practice - Construction Work - 21102022 .pdf
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
UNIT 4 Total Quality Management .pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
573137875-Attendance-Management-System-original
web development for engineering and engineering
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
bas. eng. economics group 4 presentation 1.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Well-logging-methods_new................
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...

Network programming in java - PPT

  • 3. Network Programming Introduction Java supports Network Programming to communicate with other machines. Let`s start with Network Programming Introduction. http://www.java2all.com
  • 4. Network Programming Introduction As we all know that Computer Network means a group of computers connect with each other via some medium and transfer data between them as and when require. Java supports Network Programming so we can make such program in which the machines connected in network will send and receive data from other machine in the network by programming. The first and simple logic to send or receive any kind of data or message is we must have the address of receiver or sender. So when a computer needs to communicate with another computer, it`s require the other computer’s address. Java networking programming supports the concept of socket. A socket identifies an endpoint in a network. The socket communication takes place via a protocol. http://www.java2all.com
  • 5. The Internet Protocol is a lower-level, connection less (means there is no continuing connection between the end points) protocol for delivering the data into small packets from one computer (address) to another computer (address) across the network (Internet). It does not guarantee to deliver sent packets to the destination. The most widely use a version of IP today is IPv4, uses a 32 bit value to represent an address which are organized into four 8-bits chunks. However new addressing scheme called IPv6, uses a 128 bit value to represent an address which are organized into four 16-bits chunks. The main advantage of IPv6 is that it supports much larger address space than does IPv4. An IP (Internet Protocol) address uniquely identifies the computer on the network. IP addresses are written in a notation using numbers separated by dots is called dotted-decimal notation. There are four 8 bits value between 0 and 255 are available in each IP address such as 127.0.0.1 means local- host, 192.168.0.3 etc. http://www.java2all.com
  • 6. It`s not an easy to remember because of so many numbers, they are often mapped to meaningful names called domain names such as mail.google.com There is a server on Internet who is translate the host names into IP addresses is called DNS (Domain Name Server). NOTE: Internet is the global network of millions of computer and the any computer may connect the Internet through LAN (Local Area Network), Cable Modem, ISP (Internet Service Provider) using dialup. When a user pass the URL like java2all.com in the web-browser from any computer, it first ask to DNS to translate this domain name into the numeric IP address and then sends the request to this IP address. This enables users to work with domain names, but the internet operates on IP addresses. Here in java2all.com the “com” domain is reserved for commercial sites; then “java2all” is the company name. http://www.java2all.com
  • 7. The Higher-level protocol used in with the IP are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol). The TCP enables two host to make a connection and exchange the stream of data, so it`s called Stream-based communication. TCP guarantees delivery of data and also guarantees that streams of data will be delivered in the same order in which they are sent. The TCP can detect the lost of transmission and so resubmit them and hence the transmissions are lossless and reliable. The UDP is a standard, directly to support fast, connectionless host- to-host datagram oriented model that is used over the IP and exchange the packet of data so it`s called packet-based communication. The UDP cannot guarantee lossless transmission. JAVA supports both TCP and UDP protocol families. http://www.java2all.com
  • 9. Java InetAddress Class is used to encapsulate the two thing. 1. Numeric IP Address 2. The domain name for that address. The InetAddress can handle both IPv4 and IPv6 addressses. It has no visible constructors so to create its object, the user have to use one of the available in-built static methods. The commonly used InetAddress in-built methods are: (1) getLocalHost(): It returns the InetAddress object that represents the local host contain the name and address both. If this method unable to find out the host name, it throw an UnknownHostException. Syntax: Static InetAddress getLocalHost() throws UnknownHostException http://www.java2all.com
  • 10. (2) getByName(): It returns an InetAddress for a host name passed to it as a parameter argument. If this method unable to find out the host name, it throw an UnknownHostException. Syntax: Static InetAddress getByName(String host_name) throws UnknownHostException (3) getAllByName(): It returns an array of an InetAddress that represent all of the addresses that a particular name resolve to it. If this method can’t find out the name to at least one address, it throw an UnknownHostException. Syntax: Static InetAddress[] getAllByName(String host_name) throws UnknownHostException http://www.java2all.com
  • 11. Program: Write down a program which demonstrate an InetAddress class. import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddress_Demo { public static void main(String[] args) { String name = “”; try { System.out.println(“HOST NAME - Numeric Address : “+InetAddress.getLocalHost()); InetAddress ip = InetAddress.getByName(name); System.out.println(“HOST DEFAULT-NAME / IP :”+ip); System.out.println(“HOST IP-ADDRESS : “+ip.getHostAddress()); System.out.println(“HOST DEFAULT-NAME : “+ip.getHostName()); } catch (UnknownHostException e) { System.out.println(“Not find the IP-ADDRESS for :”+name); } } } Output: HOST NAME - Numeric Address : Ashutosh- 2c89cd5e0a/127.0.0.1 HOST DEFAULT-NAME / IP : localhost/127.0.0.1 HOST IP-ADDRESS : 127.0.0.1 HOST DEFAULT-NAME : localhost http://www.java2all.com
  • 12. socket programming in java http://www.java2all.com
  • 13. socket programming in java is very important topic and concept of network programming. Java network Programming supports the concept of socket. A socket identifies an endpoint in a network. The socket communication take place via a protocol. A socket can be used to connect JAVA Input/Output system to other programs that may resides either on any machine on the Internet or on the local machine. http://www.java2all.com
  • 14. TCP/IP Sockets: TCP/IP sockets are used to implement point-to-point, reliable, bidirectional, stream-based connections between hosts on the Internet. There are two types of TCP sockets available in java: (1) TCP/IP Client Socket (2) TCP/IP Server Socket (1) TCP/IP Client Socket: The Socket class (available in java.net package) is for the Client Socket. It is designed to connect to server sockets and initiate protocol exchange. There are two constructers used to create client sockets type object. (a) Socket(String host_name,int port) throws UnknownHostException,IOException it creates a socket that is connected to the given host_name and port number. http://www.java2all.com
  • 15. (b) Socket(InetAddress ip,int port) throws IOException it creates a socket using a pre-existing InetAddress object and a port number. (2) TCP/IP Server Socket: The ServerSocket class (available in java.net package) is for the Server. It is designed to be a “listener”, which waits for clients to connect before doing anything and that listen for either local or remote client programs to connect to them on given port. When you create ServerSocket it will register itself with the system as having an interest in client connection. Syntax: ServerSocket(int port) throws IOException http://www.java2all.com
  • 16. Program: Write down a program which demonstrate the Socket programming for passing the message from server to client. Client.java: import java.io.IOException; import java.io.InputStreamReader; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) { System.out.println(“Sending a request.....”); try { Socket s = new Socket(“127.0.0.1”,1564); System.out.println(“connected successfully.....”); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); System.out.println(“response from server...”); System.out.println(“Client side : “+br.readLine()); s.close(); } catch (UnknownHostException e) { System.out.println(“Not find the IP-ADDRESS for :”+e); } catch (IOException e) { System.out.println(“Not Found data for Socket : “+e); } } } http://www.java2all.com
  • 17. Server.java: import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(1564); System.out.println("waiting for request...."); Socket s = ss.accept(); System.out.println("Request accepted"); PrintStream ps = new PrintStream(s.getOutputStream()); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Input the data at server : "); ps.print(br.readLine()); s.close(); ss.close(); } catch (Exception e) { System.out.println("Not Found data for Socket : "+e); } } } http://www.java2all.com
  • 18. For Output follow the below step: (1) Run server.java Console: waiting for request.... (2) Run Client.java Console: waiting for request.... Request accepted Input the data at server: (3) Now enter the message at console Input the data at server: welcome at server (4) Then press Enter. http://www.java2all.com
  • 19. (5) Sending a request..... connected successfully..... response from server... Client side: welcome at server Program 2: Write down a program for addition the two different variable by Socket programming. Program 3: Write down a program which demonstrate the Socket programming for passing the message from client to server and also apply EXIT properties. http://www.java2all.com
  • 20. java socket programming example http://www.java2all.com
  • 21. Two variable addition and passing message from client to server two different java socket programming example is given below but before going through program directly you should have some knowledge about Java Network Programming and Socket. These both things are already available in previous chapter so you can learn from there. Now let`s move to program 1. http://www.java2all.com
  • 22. Program: Write down a program for addition the two different variable by Socket programming. Client_Addition.java: import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Client_Addition { public static void main(String[] args) { try { Socket s = new Socket("127.0.0.1",1868); PrintStream ps = new PrintStream(s.getOutputStream()); Scanner sc = new Scanner(System.in); System.out.println("Enter first value: "); int i1 = sc.nextInt(); ps.println(i1); ps.flush(); System.out.println("Enter second value: "); int i2 = sc.nextInt(); ps.println(i2); ps.flush(); s.close(); } catch (UnknownHostException e) { System.out.println("Not find the IP-ADDRESS for :"+e); } catch (IOException e) { System.out.println("Not Found data for Socket : "+e); } } http://www.java2all.com
  • 23. Server_Addition.java import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class Server_Addition { public static void main(String[] args) { try { System.out.println("Server run successfully......"); ServerSocket sc = new ServerSocket(1868); Socket s = sc.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); int i1 = Integer.parseInt(br.readLine()); int i2 = Integer.parseInt(br.readLine()); System.out.println("Addition: "+(i1+i2)); s.close(); sc.close(); } catch (IOException e) { System.out.println("Not Found data for Socket : "+e); } } } http://www.java2all.com
  • 24. For Output follow the below step: (1) Run Server_Addition.java Console: Server run successfully...... (2) Run Client.java Console: Enter first value: 5 Enter second value: 25 (3) Now, press Enter (4) Server run successfully...... Addition: 30 http://www.java2all.com
  • 25. java socket programming example 2: Program: Write down a program which demonstrate the Socket programming for passing the message from client to server and also apply EXIT properties. Client.java: import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) { System.out.println("Sending a request....."); Try { Socket s = new Socket("127.0.0.1",1235); System.out.println("connected successfully....."); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PrintStream ps = new PrintStream(s.getOutputStream()); BufferedReader brs = new BufferedReader(new InputStreamReader(s.getInputStream())); while(true) { System.out.println("input the data...."); String st = br.readLine(); ps.println(st); http://www.java2all.com
  • 26. if(st.equals("exit")) { System.exit(1); } System.out.println("data returned"); System.out.println(st); } } catch (UnknownHostException e) { System.out.println("Not find the IP-ADDRESS for :"+e); } catch (IOException e) { System.out.println("Not Found data for Socket : "+e); } } } http://www.java2all.com
  • 27. Server.java: import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(1235); System.out.println("waiting for request...."); Socket s = ss.accept(); System.out.println("Request accepted"); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); while(true) { String st = br.readLine(); if(st.equals("exit")==true) { System.out.println("connection lost....."); System.exit(1); } System.out.println("Message from client: "+st); } } catch (IOException e) { System.out.println("Not Found data for Socket : "+e); } } } http://www.java2all.com
  • 28. For Output follow the below step: (1) Put the both file in the bin folder at jdk. For example: C:Program Files (x86)Javajdk1.6.0bin. (2) Open Command Prompt & reach up to bin path. http://www.java2all.com
  • 29. (3) Compile the Server.java & Client.java …bin>javac Server.java …bin>javac Client.java (4) Run the Server.java …bin>java Server http://www.java2all.com
  • 30. (5) Open new command prompt: (6) Now revise step-2. (7) Run the Client.java. …bin>java Client http://www.java2all.com
  • 31. Check the Message at Server Side Command Prompt. (8) Write down the message on Client Side Command Prompt Like: Input the data… Ashutosh (9) Now Press Enter & Check the Output at Both Windows. http://www.java2all.com
  • 33. (10) If want to Exit then type exit on Client side Window. Like: Input the data… exit http://www.java2all.com