5-客户端程序编写
客户端程序编写
0.初始化网络库
同服务器
WORD wVersionRequested; |
1.创建socket
同服务器
1.1 socket
socket可以看成一个文件,向socket发送数据就是向其写入。也可以理解为一个网络连接,或者句柄。
SOCKET sockCli; |
1.2向操作系统申请socket
调用socket函数,向操作系统申请一块内存,并将唯一编号返回给socket
-
af:使用的协议簇
- AF_UNIX:本机通信
- AF_INET :TCP/UDP ipv4
- AF_INET6:TCP/UDP ipv6
-
type:使用的套接字类型
- SOCK_STREAM(TCP流)
- SOCK_DGRAM(UDP数据报)
- SOCK_RAW(原始套接字)
-
protocol:在确定协议簇和套接字的情况下,默认为0。在不确定的情况下,可以用于确定协议的种类。
sockCli = socket(AF_INET, SOCK_STREAM, 0); |
2.指定地址和端口(服务器的)
使用sockaddr_in,填充地址和端口
客户端必须指定服务器的地址和端口
SOCKADDR_IN addrSrv; |
3.连接服务器
使用connect函数将创建好的socket连接到对应的服务器。
if (SOCKET_ERROR == connect(sockCli, (sockaddr*)&addrSrv, sizeof(sockaddr))) |
4.收发数据
char recvBuf[100] = {0}; //创建接收消息区 |
5.关闭套接字
closesocket(sockCli); |
6.清理网络库
WSACleanup(); |
完整代码
|
发布于