C++ UDT::在for循环中发送只发送一次。无误

C++ UDT::在for循环中发送只发送一次。无误,c++,c,udp,udp-data-transfer,C++,C,Udp,Udp Data Transfer,这只发送一次数据,这在我看来是不合理的,因为它处于for循环中: char* hello; for (int i = 0; i < 10; i++) { hello = "Hello world!\n"; if (UDT::ERROR == UDT::send(client, hello, strlen(hello) + 1, 0)) { cout << "send: " << UDT::getlasterror().get

这只发送一次数据,这在我看来是不合理的,因为它处于for循环中:

char* hello;
for (int i = 0; i < 10; i++) {

    hello = "Hello world!\n";
    if (UDT::ERROR == UDT::send(client, hello, strlen(hello) + 1, 0))
    {
        cout << "send: " << UDT::getlasterror().getErrorMessage();
    }

}
char*你好;
对于(int i=0;i<10;i++){
hello=“hello world!\n”;
if(UDT::ERROR==UDT::send(客户端,你好,strlen(你好)+1,0))
{

它是经过10次循环,还是只经过一次循环


我不熟悉您正在使用的库,但我没有看到任何类型的
flush
命令。如果它经过循环10次但只发送数据一次,您可能需要刷新。

它是经过循环10次,还是只经过循环一次


我不熟悉您正在使用的库,但我没有看到任何类型的
flush
命令。如果它经过10次循环,但只发送一次数据,您可能需要进行刷新。

您是否检查了服务器端代码。客户端正在执行for循环中的发送,服务器端如何接收它们

编辑: 参考你的帖子。如果你的服务器代码看起来像这样,它将只接收一次。服务器从客户端获取连接,然后接收一次,然后再次等待客户端的连接。但是客户端一直在循环发送。只是猜测这是你的服务器代码,我可能错了

while (true)
{
  UDTSOCKET recver = UDT::accept(serv, (sockaddr*)&their_addr, &namelen);

  cout << "new connection: " << inet_ntoa(their_addr.sin_addr) << ":" << ntohs(their_addr.sin_port) << endl;

  if (UDT::ERROR == UDT::recv(recver, data, 100, 0))
  {
    cout << "recv:" << UDT::getlasterror().getErrorMessage() << endl;
    //return 0;
  }
....................
....................
}
while(true)
{
UDTSOCKET recver=UDT::accept(serv,(sockaddr*)及其地址和名称);

您是否检查了服务器端代码。客户端正在执行for循环中的发送,服务器端如何接收它们

编辑: 参考你的帖子。如果你的服务器代码看起来像这样,它将只接收一次。服务器从客户端获取连接,然后接收一次,然后再次等待客户端的连接。但是客户端一直在循环发送。只是猜测这是你的服务器代码,我可能错了

while (true)
{
  UDTSOCKET recver = UDT::accept(serv, (sockaddr*)&their_addr, &namelen);

  cout << "new connection: " << inet_ntoa(their_addr.sin_addr) << ":" << ntohs(their_addr.sin_port) << endl;

  if (UDT::ERROR == UDT::recv(recver, data, 100, 0))
  {
    cout << "recv:" << UDT::getlasterror().getErrorMessage() << endl;
    //return 0;
  }
....................
....................
}
while(true)
{
UDTSOCKET recver=UDT::accept(serv,(sockaddr*)及其地址和名称);

cout客户端和服务器结构不匹配

客户端在1个连接内发送10次。 服务器接受10个连接,每个连接只读取1次


显然,每个连接都与容器相似。关闭连接后发送但未读取的数据将被丢弃,并且(当然)无法从其他连接访问。

客户端和服务器结构不匹配

客户端在1个连接内发送10次。 服务器接受10个连接,每个连接只读取1次


显然,每个连接都与容器相似。关闭连接后发送但未读取的数据将被丢弃(当然)无法从其他连接访问。

它通过循环10次。库文档如下:。我应该如何刷新?我对C/C++不是很好。我只是按照文档中的一些代码片段进行了操作。如何确定它只发送一条消息?是否使用wireshark进行了监视?它通过循环10次。库y文档在这里:。我应该如何刷新?我对C/C++不是很在行。我只是按照文档中的一些代码片段进行了操作。如何确定它只发送一条消息?是否使用wireshark进行了监视?服务器在while(true)循环中接收。服务器在while(true)循环中接收。