B
B
Beej's Guide to Network Programming 正體中文版
Search…
B
B
Beej's Guide to Network Programming 正體中文版
簡介
聯絡譯者
簡體中文版
中文授權
原著資訊
進階資料
導讀
何謂 Socket
IP address、結構與資料轉換
從 IPv4 移植為 IPv6
System call 或 Bust
getaddrinfo()-準備開始!
socket()-取得 File Descriptor!
bind()- 我在哪個 port?
connect(),嘿!你好。
listen()-有人會呼叫我嗎?
accept()- 謝謝你 call 3490 port
send() 與 recv()- 寶貝,我們來聊天!
sendto() 與 recvfrom()- 來點 DGRAM
close() 與 shutdown()- 你消失吧!
getpeername()-你是誰?
gethostname()-我是誰?
Client-Server 基礎
進階技術
常見的問題
Man 使用手冊
參考資料
原著誌謝
譯者誌謝
Powered By
GitBook
System call 或 Bust
我們在本章開始討論如何讓你存取 UNIX 系統或 BSD、Windows、Linux、Mac 等系統的 system call(系統呼叫)、socket API 及其它 function calls(函式呼叫)等網路功能。當你呼叫其中一個函式時,kernel 會接管,並且自動幫你處理全部的工作。
多數人會卡在這裡是因為不知道要用什麼樣的順序來呼叫這些函式,而你在找 man 使用手冊時會覺得手冊很難用。好的,為了要幫忙解決這可怕的困境,我已經試著在下列的章節精確地勾勒出(layout) system call,你在寫程式時只要照著一樣的順序呼叫就可以了。
為了要連結一些程式碼,需要一些牛奶跟餅乾[這恐怕你要自行準備],以及一些決心與勇氣,而你就能將資料發送到網際網路上,彷彿是 Jon Postel 之子般。
[請注意,為了簡潔,下列許多程式碼片段並沒有包含錯誤檢查的程式碼。而且它們很愛假設呼叫 getaddrinfo() 的結果都會成功,並會傳回鏈結串列(link-list)中的一個有效資料。這兩種情況在單獨執行的程式都有嚴謹的定位,所以,還是將它們當作模型來使用吧。]
Previous
從 IPv4 移植為 IPv6
Next
getaddrinfo()-準備開始!
Last modified
1yr ago
Copy link