linux下 socket函式的返回值代表什麼

時間 2021-08-30 09:49:12

1樓:小雨手機使用者

int socket;domain指明所使用的協議族,通常為pf_inet,表示網際網路協議族;type引數指定socket的型別:sock_stream 或sock_dgram,socket介面還定義了原始socket,允許程式使用低層協議;protocol通常賦值"0"。

socket()呼叫返回一個整型socket描述符,你可以在後面的呼叫使用它。 socket描述符是一個指向內部資料結構的指標,它指向描述符表入口。

呼叫socket函式時,socket執行體將建立一個socket,實際上"建立一個socket"意味著為一個socket資料結構分配儲存空間。 socket執行體為你管理描述符表。

2樓:

int socket(int domain, int type, int protocol);domain指明所使用的協議族,通常為pf_inet,表示網際網路協議族(tcp/ip協議族);type引數指定socket的型別:sock_stream 或sock_dgram,socket介面還定義了原始socket(sock_raw),允許程式使用低層協議;protocol通常賦值"0"。socket()呼叫返回一個整型socket描述符,你可以在後面的呼叫使用它。

socket描述符是一個指向內部資料結構的指標,它指向描述符表入口。呼叫socket函式時,socket執行體將建立一個socket,實際上"建立一個socket"意味著為一個socket資料結構分配儲存空間。 socket執行體為你管理描述符表。

兩個網路程式之間的一個網路連線包括五種資訊:通訊協議、本地協議地址、本地主機埠、遠端主機地址和遠端協議埠。

該函式如果呼叫成功就返回新建立的套接字的描述符,如果失敗就返回invalid_socket。套接字描述符是一個整數型別的值。每個程序的程序空間裡都有一個套接字描述符表,該表中存放著套接字描述符和套接字資料結構的對應關係。

該表中有一個欄位存放新建立的套接字的描述符,另一個欄位存放套接字資料結構的地址,因此根據套接字描述符就可以找到其對應的套接字資料結構。每個程序在自己的程序空間裡都有一個套接字描述符表但是套接字資料結構都是在作業系統的核心緩衝裡。

3樓:匿名使用者

socke成功後要進行別的操作吧,別的函式操作什麼呢?就是那個檔案描述符告訴它的。

linux下socket網路程式設計 客戶端向伺服器端傳送檔案

不知道是樓下還是樓上,他用的事windows的套接字貌似,不過過程是一樣的,在linux下面使用的函式名字不同罷了,客戶端向伺服器端傳送檔案,過程其實很簡單 1.客戶端向伺服器端傳送傳輸檔案的請求 可攜帶一些所傳檔案的大小之類的基本資訊 2.伺服器端接收請求 根據檔案資訊看是否能夠接受請求 3.客戶...

linux高手請進 學習linux下的命令列是不是等於在學習linux的shell

linux指令碼基於shell,是一將shell命令放在一個檔案中,然後讓shell讀取並執行這個檔案,可以將這個功能看作是一種shell程式,而shell命令就像是這個程式裡的語句,包含shell命令的檔案叫做shell指令碼。可以說shell語言既是命令又是一種程式語言。根據使用的shell的不...

Linux下profile,linux profile 在哪個目錄

你的理解沒錯,profile就是每次任何使用者登入shell後,自動載入的變數 你改動的是哪個變數,可以貼出詳細的配置嗎?linux profile 在哪個目錄 是當前使用者的家目錄,在linux下 是 home yourid 目錄的簡稱,bash profile是一個隱藏檔案 點開頭的都是隱藏檔案...