socket埠與服務

2021-07-11 10:36:24 字數 1468 閱讀 1457

yiibai

當乙個客戶端程式要連線伺服器時,客戶端必須有​​識別要連線的伺服器的一種方式。因此客戶端知道可以連線32位網路位址的主機伺服器所在的主機。但是,客戶端如何識別特定的伺服器在該主機上執行的程序呢?

要解決的問題是要確定乙個特定的伺服器一台主機上執行的程序,tcp和udp定義一組眾所周知的埠。

對於我們的目的,埠將被定義為1024和65535之間的整數。這是因為所有小於1024的埠號被認為是眾所周知的 - 例如telnet使用埠23,http使用80,ftp使用21,依此類推。

在檔案/etc/services中可以找到網路服務埠分配。如果你正在寫你自己的伺服器,那麼必須小心分配乙個埠連線到伺服器。應該確保該埠應該沒有被其他的伺服器分配到(占用)。

它的做法通常指定埠大於5000。但也有許多機構寫自己的伺服器端口號大於5000。例如雅虎信使執行埠號為:5050,5060等sip伺服器上執行

這裡是乙個小的服務和相關埠列表。可以找到最新的網際網路埠和相關的服務列表 iana - tcp/ip port assignments.

服務埠號服務描述

echo

7udp/tcp 回射

discard

9udp/tcp 丟棄輸入

daytime

13udp/tcp返回ascii碼的時間

chargen

19udp/tcp 返回的字元

ftp21

tcp 檔案傳輸

telnet

23tcp 遠端登入

smtp

25tcp 電子郵件

daytime

37udp/tcp 返回的二進位制時間

tftp

69udp 簡單檔案傳輸

finger

79使用者tcp資訊

80tcp 全球資訊網

login

513tcp 遠端登入

who513

udp 使用者不同資訊

xserver

6000

tcp視窗(注:> 1023)

unix提供了以下功能從/etc/services檔案獲取服務名稱.

每個函式的返回值是乙個指標,指向的結構與下面的形式:

struct servent

;

這裡是成員欄位的描述:屬性值

描述s_name

這是官方的服務名稱。例如smtp,ftp pop3等。

s_aliases

alias

其將存放服務別名的列表。大部分的時間將被設定為null。

s_port

80這將有相關聯的埠號。例如http,為80。

s_proto

tcp 

udp這將被設定為所使用的協議。使用tcp或udp網路服務。

埠與服務

一 埠的概念 在linux系統下,系統共定義了65535個可用埠。這些埠又分為兩部分,以1024作為分割點,分別是 只有root使用者才能啟動的埠 和 客戶端的埠 linux提供下,對於0到1023埠,都需要以root身份才能啟動,這些埠用於系統一些常見的通訊服務。這些埠都是預留給服務來使用的。可通...

關於Socket監聽服務埠應用

socket監聽服務埠應用,實時監聽,希望有大牛指出不足,上 伺服器啟動監聽類 守護執行緒 public class startthread extends thread catch ioexception e 守護執行緒子執行緒 public class zithread implements r...

Linux埠與服務

在linux作業系統下,系統共定義了65536個可用的埠,這些埠又分為兩部分,以1024作為分割點,分別是 只有root使用者才能啟用的埠 客戶端的埠 1.只有root使用者才能啟用的埠 linux系統下,對於0 1023埠,都需要root身份才能啟用,這些埠主要用於系統一些常見的通訊服務中。一般情...