Socket programming in Java (PPTX)

  • 1,418 views
Uploaded on

 

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,418
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
41
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Socket programming in java
    NarendranThangarajan,
    @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
    Request
    Server
    Network
    Result
    Client machine
    Server machine
    A client, A server, and network
    This is where sockets 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 10.0.0.1
    • 6. Port Number can be anything from 0 to 65,535.
  • Destination Socket = 10.0.0.2 : 80
    IP Address – Choose network
    20.0.0.0
    30.0.0.0
    10.0.0.0
    40.0.0.0
  • 7. IP Address -> MAC Address – Locate the specific system
    Destination Socket = 10.0.0.2 : 80
    10.0.0.1
    10.0.0.2
  • 8. Port Number – Process specific
    Port 10000
    Port 11000
    Port 120000
  • 9. Understanding Ports
    Gmail
    YM
    AVG
    Update
    OutLook
    Express
    Port 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
    10.0.0.1 : 80 and 20.0.0.1 : 2000
    192.168.21.10 : 3000 and 192.168.100.1 : 6000
  • 11. Networking Basics – the larger picture
    TCP STACK
    Application
    (http,ftp,telnet,…)
    Transport
    (TCP, UDP,..)
    Network
    (IP,..)
    Link
    (device driver,..)
  • 24. Network Basics - Where are these sockets?
    TCP STACK
    Application
    (http,ftp,telnet,…)
    Sockets
    Transport
    (TCP, UDP,..)
    Network
    (IP,..)
    Link
    (device driver,..)
  • 39. Now into Socket programming..
  • 40. 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.
  • 41. create socket,
    connect to hostid, port=x
    create socket,
    port=x, for
    incoming request:
    clientSocket =
    Socket()
    welcomeSocket =
    ServerSocket()
    wait for incoming
    connection request
    connectionSocket =
    welcomeSocket.accept()
    send request using
    clientSocket
    read request from
    connectionSocket
    write reply to
    connectionSocket
    read reply from
    connectionSocket
    close
    connectionSocket
    close
    clientSocket
    Client/Server Socket Interaction in TCP
    Server
    Client
    TCP
    connection setup
  • 42. Step 1 :
    Step 2 :
    Server
    port
    Server
    Connection request
    port
    Client
    port
    port
    Client
    Connection
  • 43. 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
  • 44. The concept of Streams
    Client output stream
    Server input stream
    Server socket
    Client socket
    Client input stream
    Server output stream
  • 45. 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.
  • 46. Client
    create socket,
    port=x, for
    incoming request:
    serverSocket =
    DatagramSocket()
    create socket,
    clientSocket =
    DatagramSocket()
    Create, address (hostid, port=x),
    send datagram request
    using clientSocket
    read request from
    serverSocket
    write reply to
    serverSocket
    specifying client
    host address,
    port number
    read reply from
    clientSocket
    close
    clientSocket
    Client/server socket interaction: UDP
    Server
  • 47. Coding time..
  • 48. 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.
  • 49. Queries