基本处理
基本操作
目录
工程文件重定向(非必须)
- 输出目录重定向
- $$(Solution)../result/$(Platform)/$(Configuration)/$
- 中间目录重定向
- $$(Solution)../temp/$(Platform)/$(Configuration)/$(ProjectName)/$
头文件
- Windows.h
- WinSock2.h
- 需要进行宏定义,或者将 WinSock2.h 放在 Windows.h 之前定义
#define WIN32_LEAN_AND_MEAN
- 需要进行宏定义,或者将 WinSock2.h 放在 Windows.h 之前定义
函数部分
启动函数
WSAStartup()
包含所需要的静态链接库
#pragma comment(lib, "ws2_32.lib")
该写法为显示声明所需要的静态库,在 window 系统下有效,其他平台上不支持
在项目属性中包含依赖项ws2_32.lib
参数 1:WORD的版本号
使用
WORD ver = MAKEWORD(2, 2);
创建版本号makeword 是将两个 byte 型合并成一个 word 型,一个在高 8 位(b),一个在低 8 位(a)
makelparam、makelong 和 makewparam 都是一样的,将两个 word 型合并成一个 dword 型。一个在高 16 位,一个在低 16 位
delphi:word((byte(a)) or (word(byte(b))) shl 8);
比如 a=2;b=1
2 的二进制是 00000010 1 的二进制为 00000001 B 是表示高 8 位,A 表示低 8 位 合并起来就是
100000010
MAKEWORD(1,1)和 MAKEWORD(2,2)的区别在于,前者只能一次接收一次,不能马上发送,而后者能。
参数 2:WSADATA类型的数据指针
- 创建 WSADATA 类型的变量
WSADATA 结构被用来保存函数 WSAStartup 返回的 Windows Sockets 初始化信息
关闭函数
WSACleanup()
代码展示
1 |
|