c - 使用c发送和接收UDP数据包
问题描述
在这里,我试图将我的格式化数据发送到多个服务器,并一一接收它们的回复。但是,当我运行代码时,它只收到了第一个的回复,并停留在 recvfrom()。有谁知道为什么会发生这种情况以及如何解决?
for(int i=0;i<s->count;i++)
{
int fromserver=0;
recv[i]=malloc(2048);
sendToserver(s->UDPserverID,udpFrame,s->neighbors[i]);
while(1){
fromserver=recvfrom(s->UDPserverID,recv[i],2048,MSG_WAITALL,(struct sockaddr*)&sender,&addr_size);
if(fromserver!=0)
{
break;
}
}
ask_back[i]=stringToFrame(recv[i]);
sleep(1);
}
解决方案
推荐阅读
- r - 如何在 R 中通过向量编写递归函数?
- flutter - 如何在颤动中显示覆盖在当前屏幕上的进度指示器动画?
- android - 上传我的应用时出现此错误:上传失败 您需要为您的 APK 使用与版本代码 1 不同的版本代码
- lua - 在 Splash 中,如何使用 src 属性附加到 url
- security - 电子商务网站应该实施的首要/最基本的网络安全预防措施是什么?
- angular - 封装在子组件中的 Angular mat-form-field
- c# - 更改选项卡时 WPF 验证停止工作
- python - 将输出重定向到python中的文件
- python - 如何在python中清除文件?
- javascript - 如何覆盖 IonBackButton 的 onclick 行为