You are on page 1of 15

Sockets

Sockets

application layer

application layer

Client Process

Socket
transport
layer (TCP/UDP)
OS network
network layer (IP)

stack

link layer (e.g. ethernet)


physical layer

Server Process
Socket

transport layer (TCP/UDP)

OS network
network layer (IP)
stack

link layer (e.g. ethernet)


physical layer

( )

(.. UDP/TCP)
/ sockets /

: (, -, -,
-, -)

(.. UDP, TCP)


- -, IP
/,
- -,
( 16-bit ,
(port number) )

socket (endpoint)

. (, ,
)
H sockets
socket socket

3

CP/IP

IP address


Port number

To (IP address , Port number) socket-

address

Client socket address

195.251.177.9:23405

Client

Server socket address


150.140.28.20:80

Connection socket pair


(195.251.177.9:23405, 150.140.28.20:80)

Client host address


195.251.177.9

H 23405

Server
(port 80)

Server host address


150.140.28.20

80

Web servers

Sockets Java
interfaces java.net
TCP :
Socket: client-side & server-side

ServerSocket: server-side

UDP :
DatagramSocket
DatagramPacket

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)

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

I/O Stream

Stream = /
Input Stream =

Output Stream:

Java Streams
stream interfaces

java.io
abstract

:
InputStream

OutputStream

Stream
Byte Array Streams
ByteArrayInputStream &

ByteArrayOutputStream

File Access Streams


FileInputStream & FileOutputStream

Filter Streams (wrappers Streams):


FilterInputStream & FilterOutputStream

BufferedInputStream
BufferedOutputStream
DataInputStream

DataOutputStream

output stream
10

CP client

11

CP server

12

client-side

server-side

13

(Serialization)
/

(integer, long, char, boolean, byte, float, double)



DataInputStream/DataOutputStream
(.. writeInt()/readInt())
strings
writeUTF()/readUTF()
,
Serializable interface

ObjectInputStream/ObjectOutputStream
writeObject()
readObject()

14

client/server
Sockets

( )
C, Java ...
UNIX, Linux, MS Windows ...

:
TCP UDP

(request/reply

protocol)

To statefull stateless
,
,
API

(..,
)
15

You might also like