Custom Networking: Sockets Chapter 13-Object Streams and RMI
Custom Networking: Sockets Chapter 13-Object Streams and RMI
Custom Networking: Sockets Chapter 13-Object Streams and RMI
Custom Networking
Part 2
Sockets
Chapter 13- Object Streams and RMI
(The java.net package)
Review
Platform: hardware + operating system.
Client: an application running in a computer (such as browser)
can receive data from another (server).
Server: an application running in a computer (such as IIS-
Windows Internet Information Service) can supply data to others
(clients).
IP address (internet protocol): unsigned integer helps identifying
a network element(computer, router,).
IPv4: 4-byte IP address, such as 192.143.5.1
IPv6: 16-byte IP address
Port: unsigned 2-byte integer helps operating system
differentiating a network communicating process.
Protocol: Rules for packaging data of a network communication
because client and server can be working in different platform.
Two common basic protocols are TCP and UDP
2
Review
TCP: (Transmission Control Protocol) is a connection-based
protocol (only one connecting line only) that provides a reliable
flow of data between two computers based on the acknowledge
mechanism.
UDP: (User Datagram Protocol) is a protocol that sends
independent packets of data, called datagrams, from one
computer to another with no guarantees about arrival (many
connecting lines can be used, acknowledge mechanism is not
used). Many firewalls and routers have been configured not to
allow UDP packets. Ask your system administrator if UDP is
permitted.
Serialization: a process that converts objects state (values in
fields of the object) to a byte stream.
De- serialization: a process that splits data in a byte stream
then set data to fields of an object.
3
Objectives
What is a socket?
How to develop applications using TCP protocol
such as chatter?
4
Contents
Java Sockets
The java.net.Socket and java.net.ServerSocket
classes
Sockets: How do they work?
Socket: How do we code?
Demonstration
5
1- Java Sockets
6
2- Socket and ServerSocket Classes
7
3- Sockets: How do they works?
Server:Mang Client:
alo (1)Init Jane
(Jane,
xxxx) (1) Make connection
srvSocket(123
(2) (2) Receive the ACK from
4)
Accept server
(3) Create ACKnowled
(3) Create
socket socket ge
socket(Jane,xxx socket(Mangalo,
outputStrea
x) outputStrea
1234)
m m
01001001100
Input 10110010011
Input
1100
stream 0010
stream
automatic
10110010011 ally 01001001100
(3) Loop 0010 1100
(3) Loop
Process data in input Process data in input
stream. stream.
Write data to output Write data to output
stream. stream.
8
4- Sockets: How do we code?
Server
Program
Name: Client
mangfalo Program
or IP
Problem
A manager wants to communicate with his/her staffs. Each
communication is distinct from others.
Write Java programs which allow this manager and his/her
staffs carrying out their communications.
Each client program is used by a staff.
The program used by the manager has some threads,
each thread supports a communication between the
manager and a staff.
Manager site is specified by IP and the port 12340.
10
Java TCP Socket Demo.: GUIs
2 staffs and manager when no connection is
established
11
Java TCP Socket Demo.: GUIs
2 staffs and manager when 2 connections is
established
12
Java TCP Socket Demo.: Project architecture
13
TCP Socket Demo...
14
TCP Socket Demo...
15
TCP Socket Demo...
16
TCP Socket Demo.
17
TCP Socket Demo.
18
TCP Socket Demo.
19
TCP Socket Demo.
20
TCP Socket Demo.
21
TCP Socket Demo.
22
TCP Socket Demo.
23
Summary
IP and Port
TCP, UDP Protocols
Sockets and Ports
Client Sockets/ Server Sockets in Java
How to use TCP sockets
24
Thank You
25