测试发现: UDP 服务端与客户端均可以bind()绑定端口,一般使用recvfrom()与sendto() , 但使用connect()链接后,也可以使用send()与recv()方法!
UDP服务端
#include<WinSock2.h>
#include <Windows.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
{
return false;
}
//UDP 服务端
SOCKET s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
SOCKADDR_IN addr;
memset(&addr, 0, sizeof(addr));
addr.sin_addr.S_un.S_addr = inet_addr("192.168.2.210");
addr.sin_family = AF_INET;
addr.sin_port = htons(60000);
bind(s, (sockaddr*)&addr, sizeof(addr));
SOCKADDR_IN addr2;
INT addrSize2 = sizeof(addr);
char buff[256] = { 0 };
//接受客户端数据
int nRecv = recvfrom(s, buff, sizeof

测试揭示,UDP服务端和客户端都可以通过bind()绑定端口,并且在使用connect()建立连接后,能够利用send()和recv()进行数据传输,替代传统的recvfrom()与sendto()操作。
订阅专栏 解锁全文
898

被折叠的 条评论
为什么被折叠?



