分享

Socket2的应用

 昵称8311738 2012-02-27

通常的网络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;  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多