在socket c中优先使用send()而不是recv()

时间:2014-02-13 08:10:28

标签: c sockets

我试图实现客户端 - 服务器套接字应用程序,客户端将一些数据流发送到服务器,服务器对流做一些计算并将结果发送回客户端。这是规则:

客户端必须尝试通过应用此策略使服务器保持尽可能繁忙:客户端必须尽可能保持发送字节,并且必须接收具有较低优先级的字节(即,仅当不可能发送更多字节时(发送更多字节时)会阻止发送过程))。我该如何应用此政策。我已经用阻塞版本实现了客户端 - 服务器应用程序

2 个答案:

答案 0 :(得分:3)

使用非阻塞IO。特别是关于select和poll函数的阅读。

答案 1 :(得分:2)

Zan Lynx的答案是目前最广泛接受的,但还有另一种选择:使用单独的线程进行发送和接收,并为发送线程提供更高的优先级。