如何在C套接字编程中使用聊天客户端程序中的select()?

时间:2010-09-01 11:03:56

标签: c sockets select nonblocking

我是新手。

我想让客户端程序从服务器接收来自键盘和数据的输入。我不希望当用户键入某些内容(scanf)及其块来从服务器接收数据时。

如何用C编写代码?

谢谢。

1 个答案:

答案 0 :(得分:2)

欢迎:)

我建议您尽快抓取Advanced Programming in the Unix Environment, 2nd Edition的副本。它有关于使用select()(以及其他所有内容)的优秀示例。

上面的页面上的源代码包包含一个很好的示例calld/loop.c,它或多或少地显示了您想要的内容 - 一个接受连接的服务器循环,将连接添加到文件描述符的选择掩码,并依次处理文件描述符。

如果您想要更友好的界面,请调查libevent。 Libevent可以在各种平台上为您提供更高的性能一个漂亮的界面。非常适合生产代码,可能不太适合学习内核如何工作。