如何使用poll来接受多个客户端? (TCP服务器)(C)

时间:2014-12-15 22:52:57

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

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

因此,如果我想要有三个客户,我将需要类似的东西:

  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;

然后做什么,以便可以读入和写出信息?

1 个答案:

答案 0 :(得分:2)

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

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

以下是使用“民意调查”的示例:

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