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

            不會(huì)飛的鳥

            2010年12月10日 ... 不鳥他們!!! 我要用自己開發(fā)的分布式文件系統(tǒng)、分布式調(diào)度系統(tǒng)、分布式檢索系統(tǒng), 做自己的搜索引擎!!!大魚有大志!!! ---楊書童

            使用socket套接字時(shí)的兩點(diǎn)經(jīng)驗(yàn)

            ?????????第一點(diǎn)經(jīng)驗(yàn)就是在創(chuàng)建新的套接字之前還需要調(diào)用一個(gè)引入Ws2_32.dll庫的函數(shù)。否則服務(wù)器和客戶端連不上。
              由于初次使用socket,所以查了很多資料,但是發(fā)現(xiàn)一個(gè)問題,不知道為什么按照資料上的步驟調(diào)用函數(shù),但是最后卻連接不上,詳細(xì)查過MSDN后,才發(fā)現(xiàn)大部分的資料上都是從調(diào)用socket開始,其實(shí)在這之前還有一個(gè)初始化的函數(shù)需要調(diào)用。
              如果使用Platform SDK:Windows Sockets,在調(diào)用socket函數(shù)創(chuàng)建新的sockets之前要先調(diào)用WSAStartup函數(shù)。WSAStartup函數(shù)作用是引入Ws2_32.dll庫。根據(jù)MSDN上說,WSAStartup函數(shù)必須是應(yīng)用程序或DLL調(diào)用的第一個(gè)Windows Sockets函數(shù),它允許應(yīng)用程序或者DLL指定需要的Windows Sockets版本和重新找回指定的Windows Sockets執(zhí)行的細(xì)節(jié)。只有在成功的調(diào)用WSAStartup函數(shù)之后才能進(jìn)一步使用接下來的Windows Sockets函數(shù)。
              同理,如果使用的是MFC包裝的CSocket類,需要在調(diào)用Cresat創(chuàng)建新的套接字之前調(diào)用AfxSocketInit函數(shù)。AfxSocketInit函數(shù)包裝的是WSAStartup函數(shù),作用是相同的。
              第二點(diǎn)經(jīng)驗(yàn)就是使用socket編程時(shí),每調(diào)用一個(gè)函數(shù)如bind,listen等,如果出錯(cuò)可以使用WSAGetLastError ()函數(shù)得到錯(cuò)誤的編號(hào),如果是MFC的CSocket類,使用GetLastError()函數(shù)得到錯(cuò)誤的編號(hào)。但是得到的編號(hào)是整形量,對(duì)調(diào)試沒有意義,所以建議大家可以使用下面的程序得到中文錯(cuò)誤信息。
            LPVOID lpMsgBuf;
            FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,0, GetLastError(), 
                    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默認(rèn)語言
                      (LPTSTR)&lpMsgBuf, 0, NULL );
            //顯示
            MessageBox(0,(LPCTSTR)lpMsgBuf,_T("GetLastError"),MB_OK|MB_ICONINFORMATION );
            
            //釋放內(nèi)存
                ::LocalFree( lpMsgBuf );
            
            這就是我的2點(diǎn)經(jīng)驗(yàn),希望對(duì)初學(xué)socket的朋友有所幫助。

            posted on 2006-04-25 12:59 不會(huì)飛的鳥 閱讀(196) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久艹国产| 久久99精品国产麻豆宅宅| 久久精品男人影院| 久久精品卫校国产小美女| 久久精品极品盛宴观看| 久久婷婷人人澡人人| 人妻少妇精品久久| 久久久久亚洲AV无码专区网站| 国産精品久久久久久久| 蜜桃麻豆www久久国产精品| 久久se精品一区精品二区国产| 久久人人超碰精品CAOPOREN | 粉嫩小泬无遮挡久久久久久| 亚洲精品乱码久久久久66| 久久久久亚洲AV无码永不| 国产成人精品免费久久久久| 欧美久久综合性欧美| 欧美伊香蕉久久综合类网站| 久久精品夜色噜噜亚洲A∨| 久久热这里只有精品在线观看| 99久久国语露脸精品国产| 伊人久久综合热线大杳蕉下载| 久久久久亚洲av成人无码电影 | 国产精品久久久久9999| 久久久久成人精品无码 | 亚洲精品高清久久| 午夜精品久久久久久影视riav| 色偷偷久久一区二区三区| 99久久99久久精品国产| 伊人久久大香线蕉综合Av| 久久se精品一区二区影院| 2022年国产精品久久久久| 色老头网站久久网| 亚洲国产精品久久久久婷婷软件| 成人久久免费网站| 久久久WWW成人免费毛片| 97久久综合精品久久久综合| 要久久爱在线免费观看| 久久99精品国产| 久久综合噜噜激激的五月天| 少妇久久久久久被弄到高潮|