• <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>

            李澤然---路在自己腳下!***只有當潮水退去的時候,才知道誰在裸泳***

            C++博客 聯系 聚合 管理
              7 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

            首先講一下用到的兩個函數---------getsockname()和getpeername():

            1、getsockname()

              獲取一個套接口的本地名字。

              #include <winsock.h>;

              int PASCAL FAR getsockname( SOCKET s, struct sockaddr FAR* name,int FAR* namelen);

              s:標識一個已捆綁套接口的描述字。
              name:接收套接口的地址(名字)。
              namelen:名字緩沖區長度。

             getsockname()函數用于獲取一個套接口的名字。它用于一個已捆綁或已連接套接口s,本地地址將被返回。本調用特別適用于如下情況:未調用bind()就調用了connect(),這時唯有getsockname()調用可以獲知系統內定的本地地址。在返回時,namelen參數包含了名字的實際字節數。
            若一個套接口與INADDR_ANY捆綁,也就是說該套接口可以用任意主機的地址,此時除非調用connect()或accept()來連接,否則getsockname()將不會返回主機IP地址的任何信息。除非套接口被連接,WINDOWS套接口應用程序不應假設IP地址會從INADDR_ANY變成其他地址。這是因為對于多個主機環境下,除非套接口被連接,否則該套接口所用的IP地址是不可知的。

            返回值:
             若無錯誤發生,getsockname()返回0。否則的話,返回SOCKET_ERROR錯誤,應用程序可通過WSAGetLastError()獲取相應錯誤代碼。


            錯誤代碼:
              WSANOTINITIALISED:在使用此API之前應首先成功地調用WSAStartup()。
              WSAENETDOWN:WINDOWS套接口實現檢測到網絡子系統失效。
              WSAEFAULT:namelen參數不夠大。
              WSAEINPROGRESS:一個阻塞的WINDOWS套接口調用正在運行中。
              WSAENOTSOCK:描述字不是一個套接口。
              WSAEINVAL:套接口未用bind()捆綁。

            2、------getpeername()

             獲取與套接口相連的端地址。

              #include <winsock.h>

              int PASCAL FAR getpeername( SOCKET s, struct sockaddr FAR* name,
              int FAR* namelen);

              s:標識一已連接套接口的描述字。
              name:接收端地址的名字結構。
              namelen:一個指向名字結構的指針。

             getpeername()函數用于從端口s中獲取與它捆綁的端口名,并把它存放在sockaddr類型的name結構中。它適用于數據報或流類套接口。

            返回值:
              若無錯誤發生,getpeername()返回0。否則的話,返回SOCKET_ERROR,應用程序可通過WSAGetLastError()來獲取相應的錯誤代碼。

            錯誤代碼:
              WSANOTINITIALISED:在使用此API之前應首先成功地調用WSAStartup()。
              WSAENETDOWN:WINDOWS套接口實現檢測到網絡子系統失效。
              WSAEFAULT:namelen參數不夠大。
              WSAEINPROGRESS:一個阻塞的WINDOWS套接口調用正在運行中。
              WSAENOTCONN 套接口未連接。
              WSAENOTSOCK:描述字不是一個套接口。

            posted on 2008-12-22 20:14 lzr 閱讀(2172) 評論(0)  編輯 收藏 引用
            国产精品欧美亚洲韩国日本久久 | 久久这里只有精品久久| 久久综合给久久狠狠97色 | 综合网日日天干夜夜久久| 国产69精品久久久久观看软件| 亚洲欧美久久久久9999| 人妻少妇久久中文字幕 | 囯产极品美女高潮无套久久久| 久久久久久夜精品精品免费啦| 国产精品亚洲美女久久久| 久久天天躁夜夜躁狠狠| 欧美一区二区精品久久| 性做久久久久久久久老女人| 成人综合伊人五月婷久久| 日本亚洲色大成网站WWW久久| 久久99国产综合精品免费| 青青青青久久精品国产h久久精品五福影院1421 | 青草久久久国产线免观| 国内精品久久久久久野外| 亚洲精品乱码久久久久久蜜桃| 久久久精品午夜免费不卡| 亚洲精品国产美女久久久| 无码国内精品久久人妻麻豆按摩| 成人久久综合网| 久久久久AV综合网成人| 久久精品国产日本波多野结衣| 久久强奷乱码老熟女| 国产精自产拍久久久久久蜜| 狠狠狠色丁香婷婷综合久久俺| 人妻精品久久无码专区精东影业| 亚洲国产小视频精品久久久三级| 亚洲伊人久久大香线蕉苏妲己| 99久久99这里只有免费费精品| 精品国产青草久久久久福利| 精品国产日韩久久亚洲| 国产免费久久精品99re丫y| 欧美精品福利视频一区二区三区久久久精品| 久久精品中文无码资源站| 精品久久久久久亚洲精品 | 国产99久久久国产精品~~牛| 成人资源影音先锋久久资源网|