socket簡易教程

socket簡易教程

ID:798679

大?。?43.53 KB

頁數(shù):29頁

時間:2017-09-05

socket簡易教程_第1頁
socket簡易教程_第2頁
socket簡易教程_第3頁
socket簡易教程_第4頁
socket簡易教程_第5頁
資源描述:

《socket簡易教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、網(wǎng)絡socket編程指南?(轉(zhuǎn)貼)1http://www.chinaunix.net?作者:流浪者??發(fā)表于:2003-04-11?17:09:07?Beej網(wǎng)絡socket編程指南?--------------------------------------------------------------------------------?介紹?  Socket?編程讓你沮喪嗎?從man?pages中很難得到有用的信息嗎?你想跟上時代去編Internet相關(guān)的程序,但是為你在調(diào)用?connect()?前的

2、bind()?的結(jié)構(gòu)而不知所措?等等…??????好在我已經(jīng)將這些事完成了,我將和所有人共享我的知識了。如果你了解?C?語言并想穿過網(wǎng)絡編程的沼澤,那么你來對地方了。?--------------------------------------------------------------------------------?讀者對象??  這個文檔是一個指南,而不是參考書。如果你剛開始?socket?編程并想找一本入門書,那么你是我的讀者。但這不是一本完全的?socket?編程書。?-----------

3、---------------------------------------------------------------------?平臺和編譯器??  這篇文檔中的大多數(shù)代碼都在?Linux?平臺PC?上用?GNU?的?gcc?成功編譯過。而且它們在?HPUX平臺?上用?gcc?也成功編譯過。但是注意,并不是每個代碼片段都獨立測試過。?--------------------------------------------------------------------------------?目錄:

4、1)?什么是套接字???2)?Internet?套接字的兩種類型??3)?網(wǎng)絡理論??4)?結(jié)構(gòu)體?5)?本機轉(zhuǎn)換?6)?IP?地址和如何處理它們??7)?socket()函數(shù)?8)?bind()函數(shù)?9)?connect()函數(shù)?10)?listen()函數(shù)?11)?accept()函數(shù)?12)?send()和recv()函數(shù)?13)?sendto()和recvfrom()函數(shù)?14)?close()和shutdown()函數(shù)?15)?getpeername()函數(shù)?16)?gethostname()函數(shù)?

5、17)?域名服務(DNS)?18)?客戶-服務器背景知識??19)?簡單的服務器?20)?簡單的客戶端?21)?數(shù)據(jù)報套接字Socket?22)?阻塞?23)?select()--多路同步I/O?24)?參考資料??--------------------------------------------------------------------------------?1)什么是?socket?:  你經(jīng)常聽到人們談論著?“socket”,或許你還不知道它的確切含義。現(xiàn)在讓我告訴你:它是使用?標準Uni

6、x?文件描述符?(file?descriptor)?和其它程序通訊的方式。什么?你也許聽到一些Unix高手(hacker)這樣說過:“呀,Unix中的一切就是文件!”那個家伙也許正在說到一個事實:Unix?程序在執(zhí)行任何形式的?I/O?的時候,程序是在讀或者寫一個文件描述符。一個文件描述符只是一個和打開的文件相關(guān)聯(lián)的整數(shù)。但是(注意后面的話),這個文件可能是一個網(wǎng)絡連接,F(xiàn)IFO,管道,終端,磁盤上的文件或者什么其它的東西。Unix?中所有的東西就是文件!所以,你想和Internet上別的程序通訊的時候,你將

7、要使用到文件描述符。你必須理解剛才的話?,F(xiàn)在你腦海中或許冒出這樣的念頭:“那么我從哪里得到網(wǎng)絡通訊的文件描述符呢?”,這個問題無論如何我都要回答:你利用系統(tǒng)調(diào)用?socket(),它返回套接字描述符?(socket?descriptor),然后你再通過它來進行send()?和?recv()調(diào)用?!暗?..”,你可能有很大的疑惑,“如果它是個文件描述符,那么為什?么不用一般調(diào)用read()和write()來進行套接字通訊?”簡單的答案是:“你可以使用!”。詳細的答案是:“你可以,但是使用send()和recv

8、()讓你更好的控制數(shù)據(jù)傳輸?!贝嬖谶@樣一個情況:在我們的世界上,有很多種套接字。有DARPA?Internet?地址?(Internet?套接字),本地節(jié)點的路徑名?(Unix套接字),CCITT?X.25地址?(你可以將X.25?套接字完全忽略)。也許在你的Unix?機器上還有其它的。我們在這里只講第一種:Internet?套接字。?--------------------------------

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。