【发布时间】:2019-10-03 12:53:03
【问题描述】:
如何组合一次发送所有内容?
int data = 5;
int data2 = 15;
int data3 = 25;
sendto(sock, (char*)&data, sizeof data, 0, (LPSOCKADDR)&ipAddr, sizeipAddr);
sendto(sock, (char*)&data2, sizeof data2, 0, (LPSOCKADDR)&ipAddr, sizeipAddr);
sendto(sock, (char*)&data3, sizeof data3, 0, (LPSOCKADDR)&ipAddr, sizeipAddr);
【问题讨论】:
-
您可以使用
ints 的数组。但是如果发送方和接收方对整数使用不同的字节顺序或int的大小不同,您可能会遇到其他问题。 -
之前自己创建缓冲区还是创建
struct对数据进行分组? -
如果您正在学习套接字的工作原理,那很好。对于更大规模的消息传递,请使用协议缓冲区、平面缓冲区、capnproto 或 thrift 之类的东西。
-
你可能对
writev感兴趣。 -
@DavidRanieri 好的,但我喜欢你的例子,但我不能使用它:|
标签: c++ c udp winsock winsock2