有谁知道WINSOCK.H和WinSock2.h之间的差异。 我知道他们不使用相同的库(.LIB),但我不知道是否只有有WinSock2增加了新的功能,或者它也提高了的WinSock 1种功能。 我与IP / TCP套接字的工作,并希望管理与选择超时()。 我还使用多个线程在同一时间管理不是只有一个客户多个。 我应该继续使用的WinSock 1.1或者我应该移动到的Winsock 2? 提前致谢。
Answer 1:
你或许应该使用winsock2.h
。
几个要点:
-
winsock.h
应使用wsock32.lib
和winsock2.h
应使用ws2_32.lib
-
winsock.h
和winsock2.h
不应该在同一个项目中,winsock2.h
取代winsock.h
,而不是扩展它。 -
winsock.h
如果你的目标,如Windows 95 / Windows NT的3.5老版本的Windows时,才应使用。
微软的实现
版本1.1( winsock.h
Winsock控件)用于Windows的附加包(称为金刚狼)供给的工作组(代号为雪球)。 这是Windows 95和Windows NT是从3.5版本及以后的一个组成部分(Windows NT的版本3.1的初始商用版本,包括仅基于AT&T UNIX System V的“流专有的和非常不完整的TCP / IP实现的“API。
2.1版 ( winsock2.h
Winsock控件)在附加软件包的Windows 95。这是Windows 98中的一个组成部分,Windows NT 4.0的供给,以及所有后续的Windows版本。 Winsock的2.X的最新版本已交付使用新的Windows版本或服务包的一部分。
不Winsock2的添加功能?
的Winsock 2通过被称为分层服务提供商(LSP)的机制是可扩展的。 的Winsock的LSP可用于宽范围的有用的目的,包括因特网家长控制,网页内容过滤,QoS等。
Answer 2:
WINSOCK.H也可把代码编译在Windows的16位版本开始生活。 你应该总是使用Winsock2.h和链接新项目WS2_32.LIB。
文章来源: WinSock.h & WinSock2.h which to use?