打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Socket2的应用

通常的网络Socket编程,直接使用CSocket就可以了,但是作为一些偏底层的编程,常常会用到一些不常用的API函数和一些API的非常规用法,这时,就要用到Socket2。使用Socket2就不像Socket1.1那么简单,不仅要在适当的位置加入头文件,还需要考虑到合适的静态链接库(win32 static LIBrary)。同时,要完全使用Socket2中的各项功能,有时仅仅安装了Microsoft Visual C++6.0 (SP6),即使是使用了“完全安装”,仍然会缺少一些头文件和库文件,这是因为其中很多头文件和库文件在“Microsoft Platform SDK”中,因此还需要安装“Microsoft Platform SDK”。

使用Socket2,需要在合适的头文件中,加入如下语句:

  1. #include <winsock2.h> 

有时,除了需要必要的头文件之外,还需要一些静态链接库,则这时有两种方式加载静态链接库,例如要使用头文件ws2tcpip.h和静态链接库ws2_32.lib文件,则首先在合适的位置加入头文件代码:

  1. #include <ws2tcpip.h> 

然后,一种方式是上面头文件之后加入如下语句:

  1. #pragma comment(lib, "ws2_32.lib")

另一种方式是在Microsoft Visual C++的编译环境中加入,具体操作方式为,单击VC的“Project/Setting”菜单项,然后在弹出的“Project Settings”对话框中,选择“Link”选项卡,在“Object/library modules”项中输入ws2_32.lib,如图2.8所示。

 
图2.8   通过配置包含静态链接库
然后在系统初始化的时候,对Socket2进行初始化,初始化的代码如下:
  1. WORD wVersionRequested;  
  2. WSADATA wsaData;  
  3. wVersionRequested = MAKEWORD(2,0);  
  4. int err=WSAStartup( wVersionRequested, &wsaData );  
  5. if (err != 0 )  
  6. {  
  7.     MessageBox("当前系统,不支持Socket2的运行,但当前程序必须使用Socket2或以上。");  
  8.     return;  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC 编写的Socket udp通信程序
9、socket编程九:WSAStartup()函数以及DLL的加载_调用wsastartup函数,加载winsock库
手把手教你在Windows下编译、使用开源库
如何将引用的静态库打包入自己的静态库中
SOCKET UDP组播 实例
编写端口扫描器(C++)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服