日記:如何在MFC中使用Winsock2

來源:互聯網
上載者:User

目前使用的Visual Studio 6.0的MFC4.2使用的是Winsock1.1,聽說MFC7.1中使用的也是。

最近,為了使用WSAIoctl,需要把使用Winsock2,不過不能直接在項目中Include Winsock2.h,因為Winsock2.h是Winsock.h的一個超集,直接添加會與已包含的winsock.h發生命名衝突。

在網上參考了一些相關的資料,最後將MFC中引用的winsock1.1替換為了winsock2。經測試可行,而且應該沒有什麼副作用,XP及之後的Windows都支援Winsock2。

替換方法:

MFC通過AFXSOCK.H來引用Winsock1.1並提供了一些物件導向的封裝。只需將其中的引用替換即可。

將AFXSOCK.H 23行的

#include <winsock.h>

替換為:

#include <winsock2.h>

 

另將其中的

#pragma comment(lib, "wsock32.lib")

替換為:

#pragma comment(lib, "Ws2_32.lib")

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.