青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

chaosuper85

C++博客 首頁 新隨筆 聯系 聚合 管理
  118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks
sendto() 和 recvfrom()函數   “這很不錯啊”,你說,“但是你還沒有講無連接數據報套接字呢?” 沒問題,現在我們開始這個內容。 既然數據報套接字不是連接到遠程主機的,那么在我們發送一個包之 前需要什么信息呢? 不錯,是目標地址!看看下面的: int sendto(int sockfd, const void *msg, int len, unsigned int flags,   const struct sockaddr *to, int tolen); 你已經看到了,除了另外的兩個信息外,其余的和函數 send() 是一樣 的。 to 是個指向數據結構 struct sockaddr 的指針,它包含了目的地的 IP 地址和端口信息。tolen 可以簡單地設置為 sizeof(struct sockaddr)。 和函數 send() 類似,sendto() 返回實際發送的字節數(它也可能小于 你想要發送的字節數!),或者在錯誤的時候返回 -1。 相似的還有函數 recv() 和 recvfrom()。recvfrom() 的定義是這樣的: int recvfrom(int sockfd, void *buf, int len, unsigned int flags,  struct sockaddr *from, int *fromlen); 又一次,除了兩個增加的參數外,這個函數和 recv() 也是一樣的。from 是一個指向局部數據結構 struct sockaddr 的指針,它的內容是源機器的 IP 地址和端口信息。fromlen 是個 int 型的局部指針,它的初始值為 sizeof(struct sockaddr)。函數調用返回后,fromlen 保存著實際儲存在 from 中的地址的長度。 recvfrom() 返回收到的字節長度,或者在發生錯誤后返回 -1。 記住,如果你用 connect() 連接一個數據報套接字,你可以簡單的調 用 send() 和 recv() 來滿足你的要求。這個時候依然是數據報套接字,依 然使用 UDP,系統套接字接口會為你自動加上了目標和源的信息。 -------------------------------------------------------------------------------- close()和shutdown()函數   你已經整天都在發送 (send()) 和接收 (recv()) 數據了,現在你準備關 閉你的套接字描述符了。這很簡單,你可以使用一般的 Unix 文件描述符 的 close() 函數:   close(sockfd); 它將防止套接字上更多的數據的讀寫。任何在另一端讀寫套接字的企 圖都將返回錯誤信息。 如果你想在如何關閉套接字上有多一點的控制,你可以使用函數 shutdown()。它允許你將一定方向上的通訊或者雙向的通訊(就象close()一 樣)關閉,你可以使用: int shutdown(int sockfd, int how); sockfd 是你想要關閉的套接字文件描述復。how 的值是下面的其中之 一:   0 – 不允許接受   1 – 不允許發送   2 – 不允許發送和接受(和 close() 一樣) shutdown() 成功時返回 0,失敗時返回 -1(同時設置 errno。) 如果在無連接的數據報套接字中使用shutdown(),那么只不過是讓 send() 和 recv() 不能使用(記住你在數據報套接字中使用了 connect 后 是可以使用它們的)。 -------------------------------------------------------------------------------- getpeername()函數   這個函數太簡單了。 它太簡單了,以至我都不想單列一章。但是我還是這樣做了。 函數 getpeername() 告訴你在連接的流式套接字上誰在另外一邊。函 數是這樣的: #include int getpeername(int sockfd, struct sockaddr *addr, int *addrlen); sockfd 是連接的流式套接字的描述符。addr 是一個指向結構 struct sockaddr (或者是 struct sockaddr_in) 的指針,它保存著連接的另一邊的 信息。addrlen 是一個 int 型的指針,它初始化為 sizeof(struct sockaddr)。 函數在錯誤的時候返回 -1,設置相應的 errno。 一旦你獲得它們的地址,你可以使用 inet_ntoa() 或者 gethostbyaddr() 來打印或者獲得更多的信息。但是你不能得到它的帳號。(如果它運行著愚 蠢的守護進程,這是可能的,但是它的討論已經超出了本文的范圍,請參 考 RFC-1413 以獲得更多的信息。) -------------------------------------------------------------------------------- gethostname()函數   甚至比 getpeername() 還簡單的函數是 gethostname()。它返回你程 序所運行的機器的主機名字。然后你可以使用 gethostbyname() 以獲得你 的機器的 IP 地址。   下面是定義:   #include int gethostname(char *hostname, size_t size); 參數很簡單:hostname 是一個字符數組指針,它將在函數返回時保存 主機名。size是hostname 數組的字節長度。 函數調用成功時返回 0,失敗時返回 -1,并設置 errno。 --------------------------------------------------------------------------------
posted on 2010-01-16 21:45 chaosuper 閱讀(135) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一级视频| 久久久无码精品亚洲日韩按摩| 久久综合九色综合欧美就去吻| 国产欧美日韩在线视频| 久久riav二区三区| 久久精品国产亚洲a| 在线免费不卡视频| 欧美国产日韩在线| 欧美日韩在线观看一区二区| 亚洲一线二线三线久久久| 亚洲综合日韩在线| 国产一区二区三区在线免费观看 | 国产欧美一区二区精品婷婷 | 亚洲国产欧美在线人成| 欧美顶级艳妇交换群宴| 欧美日韩情趣电影| 欧美一级成年大片在线观看| 欧美专区18| 日韩一级精品视频在线观看| 一本一道久久综合狠狠老精东影业 | 亚洲午夜免费福利视频| 国产视频自拍一区| 亚洲丰满在线| 国产精品欧美日韩| 亚洲第一在线综合在线| 国产精品国产| 欧美96在线丨欧| 国产精品高清免费在线观看| 久久嫩草精品久久久精品| 欧美成人综合网站| 欧美一区成人| 欧美黄网免费在线观看| 久久精品99国产精品日本| 免费在线看一区| 亚洲欧美综合v| 欧美福利视频网站| 久久亚洲精品一区二区| 欧美特黄视频| 亚洲激情另类| 激情国产一区| 亚洲自拍16p| 亚洲一区视频在线| 女女同性女同一区二区三区91| 午夜精品亚洲| 欧美日韩黄色大片| 欧美高清视频| 国内久久精品视频| 中日韩视频在线观看| 亚洲乱亚洲高清| 蜜桃视频一区| 美国成人直播| 国外成人在线视频网站| 亚洲欧美日本另类| 午夜精品婷婷| 国产欧美1区2区3区| 亚洲一区二区3| 亚洲一区二区三区四区五区黄| 牛牛国产精品| 亚洲风情在线资源站| 尤物yw午夜国产精品视频| 欧美在线看片a免费观看| 久久激情视频| 激情视频一区| 久久一区精品| 亚洲大黄网站| 夜夜嗨av色综合久久久综合网| 欧美xxx在线观看| 亚洲经典视频在线观看| 亚洲大片在线观看| 欧美一区成人| 免费亚洲婷婷| 激情国产一区| 欧美一级大片在线免费观看| 亚洲一级特黄| 欧美日韩亚洲三区| 欧美激情亚洲综合一区| 伊人成人开心激情综合网| 亚洲一区图片| 久久黄金**| 国产日韩欧美91| 欧美一区二区久久久| 午夜精品久久久久影视| 欧美精品在线播放| 夜夜夜久久久| 亚洲天堂av高清| 欧美色道久久88综合亚洲精品| 亚洲高清在线精品| 9l视频自拍蝌蚪9l视频成人| 欧美精品免费播放| 亚洲日本电影在线| 亚洲视频久久| 国产目拍亚洲精品99久久精品 | 一区二区三区国产在线| 欧美国产一区在线| 亚洲欧洲一区| 亚洲午夜免费福利视频| 国产精品入口日韩视频大尺度| 一区二区欧美亚洲| 国产精品99久久久久久久vr| 国产精品永久免费观看| 欧美一级一区| 欧美sm重口味系列视频在线观看| 亚洲国产精品美女| 欧美精品综合| 亚洲欧美日韩在线观看a三区| 欧美一区三区三区高中清蜜桃| 国产一区二区在线观看免费| 裸体一区二区| 日韩一本二本av| 午夜宅男久久久| 狠狠综合久久| 欧美乱妇高清无乱码| 亚洲深夜福利网站| 久久国产福利| 亚洲一级高清| 伊人色综合久久天天五月婷| 蜜臀av国产精品久久久久| 亚洲伦理在线观看| 久久久www免费人成黑人精品| 亚洲国产一区二区a毛片| 欧美精品一区二区三区高清aⅴ| 亚洲精品资源美女情侣酒店| 久久手机精品视频| 一区二区三区四区国产| 国产日韩精品在线播放| 欧美成人午夜影院| 亚洲综合大片69999| 亚洲福利视频一区| 欧美亚洲免费电影| 99精品视频免费全部在线| 国产一区二区丝袜高跟鞋图片| 能在线观看的日韩av| 亚洲欧美精品中文字幕在线| 亚洲国产专区校园欧美| 久久精品在这里| 亚洲一区二区三区免费在线观看| 国产日韩欧美三级| 欧美日韩精品在线| 美女爽到呻吟久久久久| 一区二区三区欧美日韩| 99视频一区二区三区| 欧美国产一区二区在线观看| 欧美一区观看| 亚洲一区国产视频| 亚洲国产导航| 国产在线成人| 欧美激情2020午夜免费观看| 夜久久久久久| 日韩亚洲精品电影| 亚洲国产毛片完整版| 欧美激情aⅴ一区二区三区| 免费的成人av| 久久亚洲一区| 久久―日本道色综合久久| 欧美一区二区三区视频在线 | 欧美日韩在线三区| 欧美精品国产精品| 巨胸喷奶水www久久久免费动漫| 久久免费国产| 久久久蜜桃精品| 久久久久久久网站| 久久久精彩视频| 久久久蜜桃一区二区人| 久久成人综合视频| 久久国产欧美| 久久亚洲精品一区二区| 亚洲校园激情| 久久精品国产一区二区三| 欧美一区三区三区高中清蜜桃| 亚洲性夜色噜噜噜7777| 亚洲午夜三级在线| 亚洲欧美乱综合| 欧美一区二区在线视频| 欧美成人一区二区| 欧美日韩国产精品一区二区亚洲| 欧美激情精品久久久| 欧美日韩精品伦理作品在线免费观看 | 亚洲午夜伦理| 亚洲影音一区| 欧美主播一区二区三区| 亚洲欧美日韩国产一区二区| 久久久综合精品| 老司机精品久久| 欧美成人精品不卡视频在线观看| 91久久夜色精品国产九色| 99热这里只有成人精品国产| 中文在线资源观看网站视频免费不卡 | 国产精品videosex极品| 国产欧美亚洲精品| 在线电影国产精品| 日韩系列欧美系列| 亚洲欧美电影院| 蜜桃av一区| 9色porny自拍视频一区二区| 午夜欧美不卡精品aaaaa| 久久在线视频| 蜜臀久久久99精品久久久久久| 国产精品久久久久一区二区| 国内自拍视频一区二区三区| 亚洲乱码国产乱码精品精98午夜|