02a - ΣΔΥ50 - ΟΣΣ3 - Sockets

download 02a - ΣΔΥ50 - ΟΣΣ3 - Sockets

of 15

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