linux c socket编程,通信问题

发布于 2022-09-02 00:20:21 字数 352 浏览 10 评论 0

现在服务器端使用多进程处理客户端的请求,现在假定有三个客户端向服务器发送了数据,然后对三个数据进行相应的处理(处理结果同时依赖这三个数据),然后要将处理结果都通知给这三个进程,然后客户端接受到响应。

现在先假定恰好只有三个客户端请求服务器,不考虑其它并发问题。目前我是每次客户端请求时,先将数据写入文件a,然后去计算数据是否达到三个,如果达到三个就计算结果,然后将结果写入另一个文件b,否则就去循环读取b文件(中间如果没有数据就关闭文件sleep(1))直到b中有数据。

客户端希望是输入数据后就等待服务器返回数据。

暂时可以不考虑epoll等,希望就系统调用,不想去依赖第三方库之类的。

不知道这个还有什么好的想法,望指点一番!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

满身野味 2022-09-09 00:20:21
  1. 不想用epoll, 可以用select, 或者poll

  2. 数据量大不大, 数据量不大的话, 不需要先存到文件里面去, 可以直接放到内存里面, 每次读完了, 都去检测一下三块内存数据是否完整

我爱人 2022-09-09 00:20:21

用select更简单。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文