Networking with Java
Socket programming
Presented by
ganesh kavhar
The Interweb thing Al Gore
invented…
 Internet is a network of networks.
 The Internet is really people communicating.
 Application layers 7, 6 :
 email, HTTP, FTP, Telnet, file 'sharing', streaming
media, VoIP
 remote access: VPN
 Session layer 5: connections. e.g. sockets
 Transport layer 4: TCP, UDP
 Network layer 3: IP, the Internet
 Link layer 2, 1: NICs, device drivers, magic.
Internet traffic
 10% YouTube HTTP
 36% other HTTP
 37% P2P
 17% newsgroups, streaming, gaming, VoIP
 In other words, mostly a waste of bits.
Internet…what's it good for?
 For years there has been a theory that
millions of monkeys typing at random on
millions of typewriters would reproduce the
entire works of Shakespeare…
The Internet has proven this theory to be
untrue. - Anonymous
Socket Programming
If a packet hits a pocket on a socket on a port,
and the bus is interrupted as a very last resort,
and the address of the memory makes your
floppy disk abort,
then the socket packet pocket has an error to
report!
from A Grandchild's Guide to Using Grandpa's
Computer by Gene Ziegler
Sockets programming
 a client exchanging data with a server
 An Internet socket is composed of the
following:
 Protocol (TCP, UDP, raw IP)
 Local IP address (your computer)
 Local port (your application)
 Remote IP address (another computer)
 Remote port (another application)
Server Sockets in Java
 package java.net
 ServerSocket server =
new ServerSocket(PORT);
// waits for network requests.
 Socket socket = server.accept();
// waits for a connection and returns a socket
 use java.io to exchange data
 InputStream from socket (client)
 OutputStream to socket (client)
Client Sockets in Java
 package java.net
 Socket socket = new Socket ( host, port);
// waits for a connection to host on a port and
returns a socket
 use java.io to exchange data
 InputStream from socket (server)
 OutputStream to socket (server)
 see PortScanner.java
URL and IP addresses
 URL class represents a
Uniform Resource Locator, a pointer to a
"resource" on the World Wide Web.
 see ReadURL.java
 InetAddress class represents an
Internet Protocol (IP) address.
 used to find out who the socket is talking to.
 ServerSocket or Socket can .getInetAddress();
Sockets Programming
see
 EchoServer.java & EchoClient.java
 simple two-way communication
 EchoServerThread.java & EchoClient.java
 multi-threaded server to handle many sets of
two-way communication

Networking with java

  • 1.
    Networking with Java Socketprogramming Presented by ganesh kavhar
  • 2.
    The Interweb thingAl Gore invented…  Internet is a network of networks.  The Internet is really people communicating.  Application layers 7, 6 :  email, HTTP, FTP, Telnet, file 'sharing', streaming media, VoIP  remote access: VPN  Session layer 5: connections. e.g. sockets  Transport layer 4: TCP, UDP  Network layer 3: IP, the Internet  Link layer 2, 1: NICs, device drivers, magic.
  • 3.
    Internet traffic  10%YouTube HTTP  36% other HTTP  37% P2P  17% newsgroups, streaming, gaming, VoIP  In other words, mostly a waste of bits.
  • 4.
    Internet…what's it goodfor?  For years there has been a theory that millions of monkeys typing at random on millions of typewriters would reproduce the entire works of Shakespeare… The Internet has proven this theory to be untrue. - Anonymous
  • 5.
    Socket Programming If apacket hits a pocket on a socket on a port, and the bus is interrupted as a very last resort, and the address of the memory makes your floppy disk abort, then the socket packet pocket has an error to report! from A Grandchild's Guide to Using Grandpa's Computer by Gene Ziegler
  • 6.
    Sockets programming  aclient exchanging data with a server  An Internet socket is composed of the following:  Protocol (TCP, UDP, raw IP)  Local IP address (your computer)  Local port (your application)  Remote IP address (another computer)  Remote port (another application)
  • 7.
    Server Sockets inJava  package java.net  ServerSocket server = new ServerSocket(PORT); // waits for network requests.  Socket socket = server.accept(); // waits for a connection and returns a socket  use java.io to exchange data  InputStream from socket (client)  OutputStream to socket (client)
  • 8.
    Client Sockets inJava  package java.net  Socket socket = new Socket ( host, port); // waits for a connection to host on a port and returns a socket  use java.io to exchange data  InputStream from socket (server)  OutputStream to socket (server)  see PortScanner.java
  • 9.
    URL and IPaddresses  URL class represents a Uniform Resource Locator, a pointer to a "resource" on the World Wide Web.  see ReadURL.java  InetAddress class represents an Internet Protocol (IP) address.  used to find out who the socket is talking to.  ServerSocket or Socket can .getInetAddress();
  • 10.
    Sockets Programming see  EchoServer.java& EchoClient.java  simple two-way communication  EchoServerThread.java & EchoClient.java  multi-threaded server to handle many sets of two-way communication