programmera.net -> java -> normal för utskrift | info@programmera.net |
Socket
1. Vad är en Socket? 2. Vad är en port? |
1. Vad är en Socket?
Wikipedia definierar en Internet Socket som "An endpoint in the IP networking protocol".
En "Berkeley Socket" implementeras på olika sätt i olika operativsystem:
Det finns två typer av sockets, de beskrivs på egna sidor:
2. Vad är en port?
En port är en ingång till en process som kör på en dator (host). Det finns 65535 portar och de addresseras med en siffra 1-65535 ( alltså 2 bytes). Låga portnummer, speciellt 1-1024 är reserverade för kända tjänster. Vill man skriva ett program som öppnar en port för kommunikation ska man alltså välja en port med högre nummer. För att se vilka portar du har på din dator kan du skriva:
Listan är klippt eftersom den är ganska lång.
[olle@dev1]$ more /etc/services
# Each line describes one service, and is of the form:
#
# service-name port/protocol [aliases ...] [# comment]
tcpmux 1/tcp # TCP port service multiplexer
tcpmux 1/udp # TCP port service multiplexer
rje 5/tcp # Remote Job Entry
rje 5/udp # Remote Job Entry
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
systat 11/udp users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote
qotd 17/udp quote
msp 18/tcp # message send protocol
msp 18/udp # message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp-data 20/udp
# 21 is registered to ftp, but also used by fsp
ftp 21/tcp
ftp 21/udp fsp fspd
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
telnet 23/tcp
telnet 23/udp
# 24 - private mail system
lmtp 24/tcp # LMTP Mail Delivery
lmtp 24/udp # LMTP Mail Delivery
smtp 25/tcp mail
smtp 25/udp mail
...