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

chaosuper85

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

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   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>
            欧美视频在线观看视频极品 | 艳妇臀荡乳欲伦亚洲一区| 久久久久在线| 久久国产精品免费一区| 狠狠色伊人亚洲综合成人| 久久尤物电影视频在线观看| 久久国产综合精品| 在线成人欧美| 亚洲人成在线播放网站岛国| 男人的天堂亚洲| 99热这里只有精品8| 夜夜嗨av一区二区三区四季av| 欧美日韩一区二区三区四区在线观看 | 欧美国产免费| 一区二区三区高清不卡| 一本一本久久a久久精品综合妖精| 欧美日本簧片| 欧美一区二区三区另类| 欧美一区二视频| 亚洲国产高清一区| 日韩视频在线免费观看| 国产一区二区精品久久99| 欧美a级片网站| 欧美视频日韩视频| 久久久999精品免费| 农夫在线精品视频免费观看| 亚洲在线成人| 久久色在线播放| 亚洲综合精品四区| 免费成人黄色av| 久久国产精品一区二区三区| 麻豆久久精品| 欧美在线视频免费| 欧美精品一区二区精品网| 久久精品国产免费观看| 欧美日韩18| 欧美成人免费在线视频| 国产精品超碰97尤物18| 老司机午夜免费精品视频| 欧美日韩免费观看一区| 久久资源av| 国产精品高精视频免费| 欧美激情精品久久久久久变态| 国产精品久久久一区二区| 欧美1级日本1级| 国产视频在线一区二区| 一区二区毛片| 亚洲欧洲日韩综合二区| 欧美伊人影院| 午夜久久黄色| 欧美亚韩一区| 亚洲精品一区二区在线| 亚洲成色999久久网站| 羞羞视频在线观看欧美| 亚洲一区二区三区视频| 欧美人成网站| 亚洲激情网址| 最新国产乱人伦偷精品免费网站| 欧美专区18| 久久精品午夜| 国产亚洲一区二区三区| 亚洲一级在线观看| 亚洲综合色婷婷| 欧美亚一区二区| 亚洲看片免费| 亚洲午夜羞羞片| 欧美色道久久88综合亚洲精品| 亚洲国内自拍| 99精品99| 欧美性做爰猛烈叫床潮| 一区二区三区国产| 亚洲一区免费观看| 国产精品入口| 亚洲欧美成人一区二区三区| 午夜精品视频在线| 国产欧美日韩91| 久久av一区二区| 美女成人午夜| 91久久中文| 欧美日韩国产精品| 亚洲无吗在线| 久久国产精品久久精品国产| 国产色综合久久| 久久精品91久久久久久再现| 久热这里只精品99re8久| 亚洲国产精品专区久久| 欧美成人综合| 亚洲图片欧美一区| 欧美主播一区二区三区| 伊人久久大香线| 欧美激情导航| 亚洲香蕉网站| 麻豆久久精品| 亚洲视频免费| 国色天香一区二区| 欧美成人国产一区二区| 在线视频免费在线观看一区二区| 欧美一区二区三区视频在线| 伊人成综合网伊人222| 欧美精品一区三区在线观看| 亚洲少妇自拍| 欧美激情麻豆| 欧美一区二区精品| 最新亚洲电影| 国产伦一区二区三区色一情| 久久手机免费观看| 在线视频你懂得一区二区三区| 久久久精品国产免大香伊| 亚洲精品欧美日韩| 国产一区二区三区免费不卡| 免费观看亚洲视频大全| 亚洲综合色网站| 亚洲经典视频在线观看| 久久精品免费播放| 亚洲香蕉伊综合在人在线视看| 国产亚洲一区在线| 欧美视频在线观看 亚洲欧| 久久久久久国产精品mv| 一本久久综合| 亚洲激情自拍| 欧美大片在线看| 欧美一区中文字幕| 中国成人黄色视屏| 亚洲激情在线观看视频免费| 国产精品综合网站| 欧美性一二三区| 免费观看一级特黄欧美大片| 欧美一区二区视频97| 夜夜嗨av一区二区三区网站四季av | 在线观看欧美| 国产一区二区三区久久久| 欧美日韩国产小视频| 裸体女人亚洲精品一区| 香蕉久久夜色精品国产使用方法 | 午夜精品一区二区三区在线视| 亚洲激情国产精品| 精品成人国产| 激情六月综合| 伊人久久大香线蕉综合热线| 国产精品自拍一区| 国产精品久久久免费 | 亚洲欧美在线免费| 亚洲视频网在线直播| 99视频在线观看一区三区| 亚洲日韩欧美视频一区| 亚洲第一主播视频| 亚洲国产美国国产综合一区二区| 欧美成人免费小视频| 久久夜色精品国产| 免费成人性网站| 欧美成人免费全部| 欧美激情亚洲视频| 最新成人av在线| 亚洲精品久久久久中文字幕欢迎你 | 欧美一区二区精品在线| 午夜精品久久久久久99热软件| 亚洲自拍偷拍麻豆| 欧美一区激情| 久久综合久久综合九色| 欧美成人激情在线| 亚洲日本中文字幕| 日韩亚洲在线观看| 亚洲欧美日韩国产另类专区| 欧美一区二区高清| 久久久天天操| 欧美精品在线一区| 国产精品拍天天在线| 国产原创一区二区| 亚洲精品裸体| 亚洲免费在线精品一区| 久久久久久久久久久久久久一区| 久久综合图片| 日韩一级免费观看| 亚洲私人影院| 久久久久久久精| 欧美激情视频一区二区三区在线播放 | 中文av一区二区| 久久久91精品国产一区二区精品| 久久婷婷国产综合精品青草 | 欧美亚洲综合在线| 免费成人黄色片| 国产精品乱码人人做人人爱| 狠狠88综合久久久久综合网| 99国产精品自拍| 久久久久久久久岛国免费| 亚洲高清视频一区二区| 亚洲欧美国产va在线影院| 你懂的视频一区二区| 国产精品乱码一区二三区小蝌蚪 | 国产一区二区在线观看免费播放| 一区二区三区在线免费观看| 一区二区三区欧美亚洲| 久久久久久久网| 一本到高清视频免费精品| 久久久激情视频| 国产精品理论片| 日韩亚洲在线| 久热国产精品视频| 亚洲一区二区综合| 欧美精品一区二区三区很污很色的|