【问题标题】:How can I use poll to accept multiple clients? (TCP Server) (C)如何使用 poll 来接受多个客户端? (TCP 服务器) (C)
【发布时间】:2015-02-14 04:10:16
【问题描述】:

这个轮询业务似乎是一个疯子写的,我不确定如何使用它来允许多个客户端连接到一个服务器,然后将他们的输入发送给所有其他客户端。

所以如果我想让三个客户去,我需要这样的东西:

  ufds[0].fd = sd;
  ufds[0].events = POLLIN;
  ufds[1].fd = sd2;
  ufds[1].events = POLLOUT;
  ufds[2].fd = sd2;
  ufds[2].events = POLLOUT;
  ufds[3].fd = sd2;
  ufds[3].events = POLLOUT;
  ufds[4].fd = sd2;
  ufds[4].events = POLLOUT;

然后究竟要做什么才能读入和写出消息?

【问题讨论】:

    标签: c tcp client-server chat poll-syscall


    【解决方案1】:

    这是在 Linux 上使用“C”和“select”的示例:

    http://www.binarytides.com/multiple-socket-connections-fdset-select-linux/

    这里是一个使用“poll”的例子:

    http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzab6/poll.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-14
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 2019-10-05
      • 1970-01-01
      • 2020-08-27
      相关资源
      最近更新 更多