2. Contents
O Socket Programming
O Server-Client Communication
O .net Package
O The InetAddress Class & its methods
O getLocalHost()
O getByName(String hostName)
O getAllByName(String hostName)
O getAddress() & getHostName()
O Socket Class
O ServerSocketClass
3. Socket Programming
Networking - process of making two or more computers
communicate.
The important concept associated with networking is the concept of
Sockets and Ports.
SOCKET - A socket is one end-point of a two-way communication link
between two programs running on the network.
Socket classes are used to represent the connection between a client
program and a server program.
4. Server-Client Communication
O Normally, a server has a socket that is bound to a specific port
number.
O On the client-side: The client knows the hostname of the machine
on which the server is running and the port number on which the
server is listening.
O To make a connection request, the client tries to connect with the
server on the server's machine and port.
O If everything goes well, the server accepts the connection.
O On the client side, if the connection is accepted, a socket is
successfully created and the client can use the socket to
communicate with the server.
5. .net Package
O Provide support for networking.
O Contains classes and interfaces to encapsulate the “Socket”
Paradigm.
O The java.net package provides two classes—
O Socket - implement the client side of the connection
O Ser verSocket- implement the server side of the connection
6. The InetAddress Class
O It converts the domain name of Internet address into an
Object. This class represents an Internet Protocol (IP)
address.
O Doesn’t have Constructors.
O Three static methods are used to create instances.
O getLocalHost()
O getByName(String hostName)
O getAllByName(String hostName)
O All these methods throw UnknownHostException if the
method cannot resolve the host name.
7. getLocalHost()
import java.net.*;
class obtainIP
{
public static void main(String args []) throws UnknownHostException
{
InetAddress adr;
adr=InetAddress.getLocalHost();
System.out.println("nInfo about Machine: " + adr);
}
}
14. Socket Class
O The Socket class ,basically used to create client sockets, is
designed to connect to server socket and initiate protocol
exchanges.
O When Socket object is created, it implicitly establishes the
connection b/w client and server.
O Socket defines the constructors to create client sockets.
Constructors:-
Socket(String hostname, int port);
Socket(InetAdrress ipaddr, int port);
16. ServerSocket Class
The ServerSocket class, basically used to create server sockets,
is designed to be a listener, which waits for client to connect
before doing anything.
Constructors:-
ServerSocket ( int port );
ServerSocket ( int port, int queueLength);
Method:-
Socket accept();
accept() is a blocking call that waits for a client to initiate
communication and returns a normal Socket, that is used for
communication with the client.