02a - ΣΔΥ50 - ΟΣΣ3 - Sockets
Transcript of 02a - ΣΔΥ50 - ΟΣΣ3 - Sockets
-
7/25/2019 02a - 50 - 3 - Sockets
1/15
Sockets
3
-
7/25/2019 02a - 50 - 3 - Sockets
2/15
Sockets
( ) (.. UDP/TCP)
/ sockets /
application layerapplication layer
OS network
stack
Client Process Server ProcessSocket
OS network
stack
Socket
transport layer (TCP/UDP)
network layer (IP)
link layer (e.g. ethernet)
physical layer
transport layer (TCP/UDP)
network layer (IP)
link layer (e.g. ethernet)
physical layer
-
7/25/2019 02a - 50 - 3 - Sockets
3/15
: (, -, -,-, -)
(.. UDP, TCP)
- -, IP /,
- -, ( 16-bit , (port number) )
socket (endpoint)
. (, , )
H sockets socket socket
3
-
7/25/2019 02a - 50 - 3 - Sockets
4/15
CP/IP
Connection socket pair(195.251.177.9:23405, 150.140.28.20:80)
Server(port 80)
Client
Client socket address
195.251.177.9:23405Server socket address
150.140.28.20:80
Client host address195.251.177.9
Server host address150.140.28.20
IP address
Port number
To (IP address , Port number) socket-address
H 23405
80
Web servers
-
7/25/2019 02a - 50 - 3 - Sockets
5/15
Sockets Java
interfaces java.net
TCP :
Socket: client-side & server-side ServerSocket: server-side
UDP :
DatagramSocket DatagramPacket
-
7/25/2019 02a - 50 - 3 - Sockets
6/15
Socket ( ) Socket(InetAddress address, int port)
TCP stream socket port
Socket(String host, int port)
TCP stream socket port host,
InputStream getInputStream()
stream socket
OutputStream getOutputStream()
stream socket
InetAddress getLocalAddress()
socket
int getLocalPort()
socket
InetAddress getInetAddress()
/ socket
int getPort()
socket socket
void close()
socket ( socket description) 6
-
7/25/2019 02a - 50 - 3 - Sockets
7/15
ServerSocket ( ) ServerSocket(int port)
server socket . 0, ( )
ServerSocket(int port, int backlog)
server socket , ,
, Socket accept()
server . socket
void close()
server socket
InetAddress getInetAddress()
server socket
int getLocalPort()
server socket
7
-
7/25/2019 02a - 50 - 3 - Sockets
8/15
I/O Stream
Stream= /
Input Stream =
Output Stream: 8
-
7/25/2019 02a - 50 - 3 - Sockets
9/15
Java Streams
stream interfaces java.io
abstract
:
InputStream
OutputStream
9
-
7/25/2019 02a - 50 - 3 - Sockets
10/15
Stream Byte Array Streams
ByteArrayInputStream &
ByteArrayOutputStream
File Access Streams FileInputStream & FileOutputStream
Filter Streams (wrappers Streams): FilterInputStream & FilterOutputStream
BufferedInputStream
BufferedOutputStream DataInputStream
DataOutputStream
output stream 10
-
7/25/2019 02a - 50 - 3 - Sockets
11/15
CP client
11
-
7/25/2019 02a - 50 - 3 - Sockets
12/15
CP server
12
-
7/25/2019 02a - 50 - 3 - Sockets
13/15
13
client-side server-side
-
7/25/2019 02a - 50 - 3 - Sockets
14/15
(Serialization)
/ (integer, long, char, boolean, byte, float, double) DataInputStream/DataOutputStream
(..writeInt()/readInt()) strings
writeUTF()/readUTF()
,
Serializable interface ObjectInputStream/ObjectOutputStream
writeObject()
readObject() 14
-
7/25/2019 02a - 50 - 3 - Sockets
15/15
client/server Sockets
( ) C, Java ...
UNIX, Linux, MS Windows ...
:
TCP UDP
(request/replyprotocol)
To statefull stateless
, , API
(..,
) 15