0

我正在开发一个网络项目(套接字)。我已经阅读了一些文章,如链接>>链接>>,但我不能很好地理解它们。我想在服务器端处理操作,我应该理解它们。现在我认为readfds是处理传入数据操作(对吗?我不知道),而writefds是处理传出数据(使用 send() 方法)操作(对吗?我不知道)。最后一个;除外fdsis 处理套接字异常,例如断开/关闭操作(对吗?我不知道)。这些只是我的问题,我对它们一无所知(没有文章描述),我想在这里问他们了解。有人可以帮我解决这个问题吗?我将在服务器端实现一个 I/O 系统(高性能),我需要非常了解它们!谢谢...

4

1 回答 1

2

在最一般的意义上,select()这是一种让您的应用程序等到有趣的事情发生的方式。这个有趣的事件可以是:

  • 数据在您列出的其中一个套接字上可用readfds,因此尝试read()从该套接字访问不会阻塞。

  • 写入空间在您列出的套接字之一上可用writefds,因此尝试写入write()该套接字不会阻塞。

  • 您在exceptfds.

  • 您指定的时间timeout已经过去,但没有发生其他任何事情。

于 2013-06-26T18:15:10.753 回答