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".

  • Berkeley Socket: Termen "Socket API" i datorsammanhang syftar på "Berkeley Socket" som introducerades 1981 i Unix BSD 4.2 och är ett generiskt API för kommunikation mellan processer.
En "Berkeley Socket" implementeras på olika sätt i olika operativsystem:
  • Del av kärnan: Socket API är inbyggd i kärnan för Unix BSD.
  • Bibliotek: Socket API länkas in via ett bibliotek i Solaris, Mac-OS, Windows.
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:
[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

...
Listan är klippt eftersom den är ganska lång.