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

            不會飛的鳥

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

            使用socket套接字時的兩點經驗

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

            posted on 2006-04-25 12:59 不會飛的鳥 閱讀(192) 評論(0)  編輯 收藏 引用

            久久精品嫩草影院| 久久亚洲精品国产亚洲老地址| 欧美牲交A欧牲交aⅴ久久| 一本一本久久aa综合精品| 久久亚洲精品成人av无码网站| 精品国产福利久久久| 性做久久久久久久久久久| 国产综合久久久久| 久久久无码精品午夜| 国产精品美女久久久m| 国产精品无码久久综合网| 精品久久久无码21p发布| 国产精久久一区二区三区| 久久精品国产亚洲αv忘忧草| 亚洲伊人久久大香线蕉苏妲己| 久久人人爽人人澡人人高潮AV| 久久婷婷五月综合国产尤物app| 国产香蕉97碰碰久久人人| 一本色道久久综合亚洲精品| 国产精品美女久久久久AV福利 | 久久精品国产亚洲精品2020 | 波多野结衣久久| 久久青青草原综合伊人| 精品综合久久久久久98| 久久综合久久鬼色| 亚洲一区中文字幕久久| 久久99国产精一区二区三区| 99久久精品免费看国产一区二区三区 | 国产精品日韩欧美久久综合| 久久久噜噜噜久久熟女AA片| 无码乱码观看精品久久| 精品水蜜桃久久久久久久| 久久精品国产精品青草app| 国产精品美女久久久m| 人人狠狠综合久久88成人| 亚洲伊人久久成综合人影院| 久久综合色区| 欧洲国产伦久久久久久久| 久久天天躁狠狠躁夜夜2020 | 久久996热精品xxxx| 国产精品欧美亚洲韩国日本久久|