如何使用民意调查来接受多个客户?(TCP服务器)(C)

cou*_*sto 6 c tcp chat client-server 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;
Run Code Online (Sandbox Code Playgroud)

然后到底该做些什么以便可以读入和写出消息?

小智 4

以下是在 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