programmera.net -> java -> normal för utskrift | info@programmera.net |
TCP-socket
1. Vad är en TCP-socket? 2. Sockets på serversidan 3. Sockets på klientsidan 4. Socket exceptions |
1. Vad är en TCP-socket?
TCP-socket är en strömbaserad, anslutningsorienterad (connection-oriented) socket. En TCP-socket har två byteströmmar (input och output) som används för kommunikation med processen på andra sidan anslutningen genom operationerna read och write. Man kallar detta för full duplex eftersom en TCP-socket kan läsa och skriva SAMTIDIGT utan att det blir någon krock. Det finns två basklasser för TCP-sockets:
2. Sockets på serversidan
På servern skapas alltså både en "ServerSocket" och en "Socket" på detta sätt:
ServerSocket listen=new ServerSocket(10111);
while(true){
Socket socket=listen.accept();
// do work...
}
3. Sockets på klientsidan
En klient kan skapa en socket på följande sätt:
I detta fall ligger servern på samma dator som klienten, då skriver man localhost istället för serverns IP-nummer.
Socket socket=new Socket("localhost",10111);
4. Socket exceptions
En TCP-socket kastar java.net.SocketException för att markera att det har blivit något fel med TCP-överföringen. Följande subklasser finns som ytterligare specifierar vilken typ av fel som inträffat:
Klienten kan även få följande fel (ej subklasser av SocketException) :
Servern kan även få följande fel: