gpt4 book ai didi

linux - linux中如何同步socket服务器和客户端之间的通信速率

转载 作者:太空宇宙 更新时间:2023-11-04 05:04:13 25 4
gpt4 key购买 nike

我目前正在从事 Linux 网络编程工作,对此我还是个新手。我正在Linux网络编程(C语言)中开发一些基于流套接字(TCP)的客户端-服务器应用程序。

服务器-将不断发送数据客户端 - 将持续接收数据(两者都在 while(1) 循环中运行)

  • 如果Server.c在系统A上运行并且client.c在系统-B。服务器正在发送100 个数据包/秒。但是由于某些原因网络问题客户端能够接收10个数据包/秒。IE;生产者的生产量超过了接收者的容量。

  • 是否有丢包情况?或者所有数据包都将被传输,因为它是 TCP 连接(可靠)?

  • 如果有丢包如何启用重传?
  • 任何标志或选项
  • 是否有任何机制或程序来处理生产者-消费者问题?
  • Send() 和 receive() 函数如何工作? (任何阻塞类型都有)

需要一些帮助!请。

谢谢大家

最佳答案

TCP 具有内置的流量控制。您无需在申请层面做出任何特殊安排。如果发送方持续发送的数据多于接收方可以承受的数据,则 TCP 堆栈将减小窗口大小以降低传输速率。结果是 send() 调用阻塞的时间更长。

关于linux - linux中如何同步socket服务器和客户端之间的通信速率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21907628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com