


















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This lecture is part of lecture series for Jave Programming course. It was delivered by Sandhya Rabinder at Biju Patnaik University of Technology, Rourkela. It includes: Socket, Programming, Java, TCP, Datagram, , Core, Package, Datagram, Packet, Inet, Address, URL
Typology: Slides
1 / 26
This page cannot be seen from the preview
Don't miss anything!



















// Sender public^ static^ void^ main(String[]
args) { int^ remotePort^ =^ 30000;DatagramSocket^ socket^ =^ null;DatagramPacket^ packet^ =^ null;InetAddress^ ipAddr^ =^ null; try{socket^ =^ new^ DatagramSocket();}catch^ (SocketException^ ex)^ {}^ try^ { ipAddr=InetAddress.getLocalHost();}^ catch^ (UnknownHostException
for (int i = 0; i < 5; i++) {String msg = “Messagenumber: "+ i;byte [] data =msg.getBytes();packet = newDatagramPacket(data,data.length, ipAddr,remotePort);try { socket.send(packet); } ex) {}catch (IOException e) {}} // for} // main
the^ incoming^ datagram DatagramPacket^ inPacket^ =^ new^ DatagramPacket(buffer,
buffer.length);
4.^ Accept^ an^ incoming
the^ packet InetAddress^ clientAddress
=^ inPacket.getAddress(); int^ clientPort^ =^ inPacket.getPort(); 6. Retrieve^ the^ data^ from^ the
buffer string^ message^ =^ new^ String(inPacket.getData(),
0,^ inPacket.getLength());
8.^ Send^ the^ response^ datagram^ dgramSocket.send(outPacket) 9.^ Close^ the^ DatagramSocket:
dgram.close();
-^ Handles^ Internet^ addresses
both^ as^ host^ names^ and
as^ IP addresses • Static^ Method^ getByName
returns^ the^ IP^ address^
of^ a specified^ host^ name^ as
an^ InetAddress^ object
-^ Methods^ for^ address/name
conversion: public^ static^ InetAddress^ getByName(String
host)^ throws^ UnknownHostException public^ static^ InetAddress[]^ getAllByName(String
host)^ throws^ UnknownHostException public^ static^ InetAddress^ getLocalHost()
throws^ UnknownHostException public^ boolean^ isMulticastAddress()public^ String^ getHostName()public^ byte[]^ getAddress()public^ String^ getHostAddress()public^ int^ hashCode()public^ boolean^ equals(Object^ obj)public^ String^ toString()
Retrieving^ the^ current
machine’s^ address import java.net.*;public class MyLocalIPAddress{ public static void main(String[] args){ try{ InetAddress address =InetAddress.getLocalHost();System.out.println (address);} catch (UnknownHostException e){ System.out.println("Could not find localaddress!");} } }
The^ Java.net.Socket
Class
-^ Connection^ is^ accomplished
through^ the^ constructors.
Each Socket^ object^ is^ associated
with^ exactly^ one^ remote
host.^ To connect^ to^ a^ different^ host,
you^ must^ create^ a^ new
Socket object.public^ Socket(String^ host,
int^ port)^ throws^ UnknownHostException, IOExceptionpublic Socket(InetAddress^ address,^ int^ port)^ throws^ IOExceptionpublic Socket(String host, int^ port,^ InetAddress^ localAddress,
int^ localPort) throws^ IOExceptionpublic^ Socket(InetAddress^ address,
int^ port,^ InetAddress^ localAddress,
int localPort)^ throws^ IOException • Sending^ and^ receiving^ data^ is^ accomplished
with^ output^ and^ input streams.^ There^ are^ methods
to^ get^ an^ input^ stream^ for^
a^ socket^ and^ an output^ stream^ for^ the^ socket
. public InputStream getInputStream()^ throws
IOException public^ OutputStream^ getOutputStream()
throws IOException • There's a^ method^ to^ close^ a^ socket: public^ void^ close()^ throws
IOException
TCP^ Sockets CLIENT:1. Establish a connection^ to^ the^
server Socket^ link^ =^ new Socket(inetAddress.getLocalHost(),1234); 2. Set^ up^ input^ and^
output^ streams
data