Socket programming using java
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Socket programming using java



Seminar on Socket Programming in Java including Hands-on Coding session.

Seminar on Socket Programming in Java including Hands-on Coding session.



Total Views
Views on SlideShare
Embed Views



2 Embeds 7 6 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Socket programming using java Presentation Transcript

  • 1. SOCKET PROGRAMMING IN JAVA Narendran Thangarajan, @naren_live, II Year, BE, CSE, SSN College of Engg, Chennai.
  • 2. What started it all.. Internet has emerged as a global ubiquitous media for communication It has changed the way we live, learn, enjoy, communicate, interact, engage, etc. To take advantage of this, businesses are ceaselessly trying to offer their services through the internet. So a huge demand for software developers good in creating internet-enabled applications.
  • 3. Client Server Applications The Web Service is provided by the server and the clients use these services Client Server NetworkClient machine Server machine A client, where sockets and network This is A server, come in !!
  • 4. Sockets Introduced in BSD 4.1 UNIX 1981. Sockets are the endpoints of any communication over the internet. Sockets are identified by socket addresses. Socket Address = IP Address + Port Number
  • 5. Why IP Address + Port number? • IP Address is of the form • Port Number can be anything from 0 to 65,535.
  • 6. Destination Socket = : 80IP Address – Choose network
  • 7. Destination Socket = : 80IP Address -> MAC Address – Locate the specific system
  • 8. Port Number – Process specificPort 10000 Port 11000 Port 120000
  • 9. Understanding Ports OutLook AVGGmail YM Express UpdatePort 1 Port 2 Port 3 Port 4 Transport Layer Packet Port num data Network layer
  • 10.  Thus virtually, sockets are a connection between the two processes in different systems. Eg : Let the socket pairs be  : 80 and : 2000  : 3000 and : 6000
  • 11. Networking Basics – the larger picture  Applications Layer  Standard apps  HTTP TCP STACK  FTP  Telnet Application  User apps (http,ftp,telnet,…)  Transport Layer Transport  TCP (TCP, UDP,..)  UDP Network  Network Layer (IP,..)  IP  Link Layer Link (device driver,..)  Device drivers
  • 12. Network Basics - Where are these sockets?  Applications Layer  Standard apps  HTTP TCP STACK  FTP  Telnet Application  User apps (http,ftp,telnet,…)  Programming Interface: Sockets  SOCKETS Transport  Transport Layer (TCP, UDP,..)  TCP  UDP Network (IP,..)  Network Layer Link  IP  Link Layer (device driver,..)  Device drivers
  • 13. Now into Socket programming..
  • 14. Socket Programming with TCP Server starts first..  Server Process must be running first  Server must have created a socket which welcomes client’s connection. (Welcoming socket) Client contacts server by..  Creating Client local TCP socket  Specify IP Address and port number of server process.  When Client socket is created, the connection is established.  When connection is established, server creates a new socket (Connection Socket) to communicate with that client and the Welcoming socket is once again waiting for connections for other clients.
  • 15. Client/Server Socket Interaction inTCP Server create socket, port=x, for incoming request: welcomeSocket = ServerSocket() Client wait for incoming TCP create socket, connection request connection setup connect to hostid, port=x connectionSocket = clientSocket = welcomeSocket.accept() Socket() send request using read request from clientSocket connectionSocket write reply to connectionSocket read reply from connectionSocket close connectionSocket close clientSocket
  • 16. Step 1 : Connection request port Server ClientStep 2 : port Server port Client port Connection
  • 17. Types of Sockets in TCP ServerSocket – the socket used by servers Socket – Socket used by clients Create a ServerSocket in the server and make it to wait for connections from Sockets from other clients
  • 18. The concept of Streams Client output Server input stream stream Client Server socket socket Client input Server output stream stream
  • 19. Socket Programming with UDP No Connection between client and server.  No handshaking  The sender has to explicitly mention the IP address and the port of the destination.  The server should extract the IP Address of the datagram everytime. Uses DatagramSocket.
  • 20. Client/server socket interaction:UDP Server Client create socket, create socket, port=x, for clientSocket = incoming request: DatagramSocket() serverSocket = DatagramSocket() Create, address (hostid, port=x), send datagram request using clientSocket read request from serverSocket write reply to serverSocket read reply from specifying client clientSocket host address, port number close clientSocket
  • 21. Coding time..
  • 22. Conclusion Socket Programming is very easy in Java. Usually each and every socket is handled by a separate thread in real-time client/server environments.
  • 23. Queries