Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何一起发送多个包?_C++_C_Udp_Winsock_Winsock2 - Fatal编程技术网

C++ 如何一起发送多个包?

C++ 如何一起发送多个包?,c++,c,udp,winsock,winsock2,C++,C,Udp,Winsock,Winsock2,如何组合以同时发送所有内容 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, (cha

如何组合以同时发送所有内容

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);

您可以创建一个数组并传递数组的地址和大小:

int data[3] = {5, 15  25};

sendto(sock, (char*)&data[0], sizeof(data), 0, (LPSOCKADDR)&ipAddr, sizeipAddr);

但这对于通过网络发送数据来说是非常糟糕的方式。您必须考虑字节顺序和变量大小。

您可以使用
int
s数组。但是,如果发送方和接收方对整数使用不同的字节顺序,或者对
int
使用不同的大小,则可能会出现其他问题。请先创建缓冲区,或者创建
struct
以对数据进行分组?如果您正在学习套接字的工作原理,则可以。对于更大规模的消息传递,请使用协议缓冲区、平面缓冲区、capnproto或thrift。您可能对它感兴趣。@DavidRanieri好的,但我喜欢您的示例,但我不能使用它:|这是我需要的,谢谢,图的顺序。:)