Download unit-8 (74240)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wake-on-LAN wikipedia , lookup

AppleTalk wikipedia , lookup

Dynamic Host Configuration Protocol wikipedia , lookup

Network tap wikipedia , lookup

Parallel port wikipedia , lookup

Airborne Networking wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Net neutrality law wikipedia , lookup

Remote Desktop Services wikipedia , lookup

Net bias wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Lag wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Transcript
OBJECT ORIENTED PROGRAMMING
B.TECH II YR II SEMESTER(TERM 08-09)
UNIT 8 PPT SLIDES
TEXT BOOKS:
1. Java: the complete reference, 7th editon,
Herbert schildt, TMH.Understanding
2. OOP with Java, updated edition, T. Budd,
pearson eduction.
No. of slides:45
INDEX
UNIT 9 PPT SLIDES
S.NO.
TOPIC
LECTURE NO.
PPTSLIDES
1
Basics of network programming
L1
L1.1TO L1.7
2
addresses
L2
L2.1 TO L2.2
3
Ports
L3
L3.1 TO L3.2
4
Sockets
L4
L4.1 TO L4.3
5
simple client server program
L5
L5.1 TO L5.5
6
Multiple clients
L6
L6.1 TO L6.5
7
java .net package
L7
L7.1 TO L7.2
8
java.util package
L8
L8.1 TO L8.3
9
Revision
L9
Basics of network programming: Overview
RMI
JDBC
java.net
TCP/IP
Network OS
L 1.1
CORBA
A Network Is...
• node
– any device on the network
• host
– a computer on the network
• address
– computer-readable name for host
• host name
– human-readable name for host
L 1.2
A Network Does...
• datagram (or “packet”)
– little bundle of information
– sent from one node to another
• protocol
– roles, vocabulary, rules for communication
• IP
– the Internet Protocol
L 1.3
TCP/IP: The Internet Protocol
Application Layer (HTTP, FTP, SMTP)
Transport Layer (TCP, UDP)
Internet Layer (IP)
Physical Network
L 1.4
TCP/UDP/IP
• IP
– raw packets
– the “Internet Layer”
• TCP
– data stream
– reliable, ordered
– the “Transport Layer”
• UDP
– user datagrams (packets)
– unreliable, unordered
– the “Transport Layer”L 1.5
The Three ‘I’s
• internet
– any IP-based network
• Internet
– the big, famous, world-wide IP network
• intranet
– a corporate LAN-based IP network
• extranet
– accessing corporate data across the Internet
L 1.6
Java and Networking
•
•
•
•
•
Built into language
One of the 11 buzzwords
Network ClassLoader
java.net API
Based on TCP/IP, the Internet Protocol
L 1.7
Addresses
• Every computer on the Internet has an address.
• An Internet address is a number that uniquely identifies
each computer on the Net.
• There are 32 bits in an IP address, and often refer to
them as a sequence of four numbers between 0 and 255
separated by dots
• The first few bits define which class of network, lettered
A, B,
• C, D, or E, the address represents.
• Most Internet users are on a class C network, since
there are over two million networks in class C.
L 2.1
IP Addresses
• The first byte of a class C network is
between 192 and 224, with the last byte
actually identifying an individual computer
among the 256 allowed on a single class
C network.
• IP Address: identifies a host
• DNS: converts host names / domain
names into IP addresses.
L 2.2
Ports
•
Port: a meeting place on a host
1. one service per port
2. 1-1023 = well-known services
3. 1024+ = experimental services, temporary
L 3.1
Well-Known Ports
•
•
•
•
•
•
•
20,21: FTP
23: telnet
25: SMTP
43: whois
80: HTTP
119: NNTP
1099: RMI
L 3.2
Sockets
• A network socket is a lot like an electrical socket.
• Socket: a two-way connection
• Internet Protocol (IP) is a low-level routing protocol that
breaks data into small packets and sends them to an
address across a network, which does not guarantee to
deliver said packets to the destination.
• Transmission Control Protocol (TCP) is a higher-level
protocol that manages to robustly string together these
packets, sorting and retransmitting them as necessary to
reliably transmit your data.
• A third protocol, User Datagram Protocol (UDP), sits next
to TCP and can be used directly to support fast,
connectionless, unreliable transport of packets.
L 4.1
The Socket Class
• Socket(String host, int port)
• InputStream getInputStream()
• OutputStream getOutputStream()
• void close()
Socket s = new Socket(“www.starwave.com”, 90);
L 4.2
Sockets and Ports
Client
Socket
port 13
Time Service
port 80
Web Service
Socket
Server
L 4.3
Client-Server
• Client - initiates connection
– retrieves data,
– displays data,
– responds to user input,
– requests more data
• Examples:
– Web Browser
– Chat Program
– PC accessing files
L 5.1
simple client server program-client
/** Client program using TCP */
public class Tclient {
final static String serverIPname = “starwave.com";// server IP name
final static int serverPort = 3456;
// server port number
public static void main(String args[]) {
java.net.Socket sock = null;
// Socket object for
communicating
java.io.PrintWriter
pw = null;
// socket output to server
java.io.BufferedReader br = null;
// socket input from server
try {
sock = new java.net.Socket(serverIPname,serverPort);// create socket
and connect
pw = new java.io.PrintWriter(sock.getOutputStream(), true); // create
reader and writer
br = new java.io.BufferedReader(new
java.io.InputStreamReader(sock.getInputStream()));
System.out.println("Connected to Server");
L 5.2
pw.println("Message from the client");
// send msg to the server
System.out.println("Sent message to server");
String answer = br.readLine();
// get data from the server
System.out.println("Response from the server >" + answer);
pw.close();
// close everything
br.close();
sock.close();
} catch (Throwable e) {
System.out.println("Error " + e.getMessage());
e.printStackTrace();
}
}
}
L 5.3
Server program
/** Server program using TCP */
public class Tserver {
final static
int
serverPort = 3456;
// server port number
public static void main(String args[]) {
java.net.ServerSocket sock = null;
// original server socket
java.net.Socket clientSocket = null;
//socket created by accept
java.io.PrintWriter pw = null;
//socket output stream
java.io.BufferedReader br = null;
// socket input stream
try {
sock = new java.net.ServerSocket(serverPort);
// create socket and bind to port
System.out.println("waiting for client to connect");
clientSocket = sock.accept();
L 5.4
//
//
// wait for client to connect
System.out.println("client has connected");
pw = new java.io.PrintWriter(clientSocket.getOutputStream(),true);
br = new java.io.BufferedReader(
new java.io.InputStreamReader(clientSocket.getInputStream()));
String msg = br.readLine();
// read msg from client
System.out.println("Message from the client >" + msg);
pw.println("Got it!");
// send msg to client
pw.close();
// close everything
br.close();
clientSocket.close();
sock.close();
} catch (Throwable e) {
System.out.println("Error " + e.getMessage());
e.printStackTrace();
}
}
}
L 5.5
Multiple Clients
• Multiple clients can connect to the same port on
the server at the same time.
• Incoming data is distinguished by the port to
which it is addressed and the client host and port
from which it came.
• The server can tell for which service (like http or
ftp) the data is intended by inspecting the port.
• It can tell which open socket on that service the
data is intended for by looking at the client
address and port stored with the data.
L 6.1
Queueing
• Incoming connections are stored in a queue
until the server can accept them.
• On most systems the default queue length
is between 5 and 50.
• Once the queue fills up further incoming
connections are refused until space in the
queue opens up.
L 6.2
The java.net.ServerSocket
Class
• The java.net.ServerSocket class represents a
server socket.
• A ServerSocket object is constructed on a
particular local port. Then it calls accept() to listen
for incoming connections.
• accept() blocks until a connection is detected.
Then accept() returns a java.net.Socket object that
performs the actual communication with the client.
L 6.3
Constructors
• There are three constructors that specify the port to bind
to, the queue length for incoming connections, and the IP
address to bind to:
public ServerSocket(int port) throws IOException
public ServerSocket(int port, int backlog) throws
IOException
public ServerSocket(int port, int backlog, InetAddress
networkInterface) throws IOException
L 6.4
Constructing Server Sockets
• specify the port number to listen :
try {
ServerSocket ss = new ServerSocket(80);
}
catch (IOException e) {
System.err.println(e);
}
L 6.5
java.net package
• The classes in java.net package are :
JarURLConnection (Java 2)
DatagramSocketImpl
URLDecoder (Java 2)
Socket
InetAddress
URLStreamHandler
ContentHandler
URL
NetPermission
DatagramSocket
Authenticator (Java 2)
URLConnection
ServerSocket
HttpURLConnection
URLEncoder
SocketImpl
SocketPermission
MulticastSocket
DatagramPacket
URLClassLoader (Java 2)
PasswordAuthentication(Java 2)
L 7.1
The java.net package's interfaces are
1.
2.
3.
4.
5.
ContentHandlerFactory
SocketImplFactory
URLStreamHandlerFactory
FileNameMap
SocketOptions
L 7.2
java.util package
•
The java.util package defines the following classes:
1. AbstractCollection (Java2)
2. EventObject
3. PropertyResourceBundle
4. AbstractList (Java 2)
5. GregorianCalendar
6. Random
7. AbstractMap (Java 2)
8. HashMap(Java 2)
9. ResourceBundle
10.AbstractSequentialList(Java 2)
11.HashSet (Java2)
12.SimpleTimeZone
13.AbstractSet (Java 2)
14.Hashtable
15.Stack
L 8.1
16.ArrayList (Java 2)
17.LinkedList(Java 2)
18.StringTokenizer
19.Arrays (Java 2)
20.ListResourceBundle
21.TimeZone
22.BitSet
23.Locale
24.TreeMap (Java 2)
25.Calendar
26.Observable
27.TreeSet (Java 2)
28.Collections (Java 2)
29.Properties
30.Vector
31.Date
32.PropertyPermission(Java 2)
33.WeakHashMap (Java 2)
34.Dictionary
L 8.2
java.util defines the following interfaces.
1. Collection (Java 2)
2. List (Java 2)
3. Observer
4. Comparator (Java 2)
5. ListIterator(Java 2)
6. Set (Java 2)
7. Enumeration
8. Map (Java 2)
9. SortedMap (Java 2)
10.EventListener
11.Map.Entry(Java 2)
12.SortedSet (Java 2)
13.Iterator (Java 2)
L 8.3