头文件包含
winsock.h
winsock2.h静态库
wsock32.lib
Ws2_32.lib动态库
winsock.dll (16 bit)
wsock32.dll (32 bit)
Ws2_32.dll (32 bit)版本问题:
wVersionRequested = MAKEWORD(1,1);
wVersionRequested = MAKEWORD(2,2);
……其他版本1.0 2.0等1,他们可以如何组合呢?
比如:
#include <winsock2.h>
#pragma comment(lib,"wsock32")
……
wVersionRequested = MAKEWORD(1,1);
2,如上的静态库和动态库之间是什么关系?(这个问题憋了很久了)3,#pragma comment(lib,"wsock32")
  和setting->link添加wsock32.lib是不是一回事,还是有些小小区别?

解决方案 »

  1.   

    糟糕,忘了把操作系统考虑进去
    操作系统:
    Windows NT/2000/XP
    Windows 95/98/Me据说,winNT以上支持2.0以上版本,以下支持1.0  1.1版本
      

  2.   

    WIN98开始就支持WINSOCK2以上版本了,
    不要在用WINSOCK1,
    直接INCLUDE “WINSOCK2。H”就可以了
      

  3.   

    1,他们可以如何组合呢?
    比如:
    #include <winsock.h>
    #pragma comment(lib,"wsock32.lib")
    wVersionRequested = MAKEWORD(1,1);
    #include <winsock2.h>
    #pragma comment(lib,"ws2_32.lib")
    wVersionRequested = MAKEWORD(2,2);2,如上的静态库和动态库之间是什么关系?(这个问题憋了很久了)   静态库可以直接引用函数;动态库要LoadLibrary()的方法导入函数。3,#pragma comment(lib,"wsock32")
      和setting->link添加wsock32.lib是不是一回事,还是有些小小区别?
       一样。
      

  4.   

    1.载入类库:
        #include <winsock.h>
        #pragma comment(lib,"wsock32.lib")包含了其他的winsock的类文件
        wVersionRequested = MAKEWORD(1,1);控制soket版本比较
    2。
    #include <winsock2.h>
    #pragma comment(lib,"ws2_32.lib")
    wVersionRequested = MAKEWORD(2,2);
      

  5.   

    1.载入类库:
        #include <winsock.h>
        #pragma comment(lib,"wsock32.lib")包含了其他的winsock的类文件
        wVersionRequested = MAKEWORD(1,1);控制soket版本比较为1.1版本
    2。
    #include <winsock2.h>
    #pragma comment(lib,"ws2_32.lib")
    wVersionRequested = MAKEWORD(2,2);为2.0版本
    3。类库的文件地址不同所以使用的应用方法不同