【发布时间】:2013-06-24 00:31:02
【问题描述】:
我正在开发一个网络项目(套接字)。我读过一些像link>> 和link>> 这样的文章,但我不能很好地理解它们。我想在服务器端处理操作,我应该理解它们。现在我认为 readfds 是处理传入数据操作(对吗?我不知道)和 writefds 是处理传出数据(使用 send() 方法)操作(对吗?我不知道)。最后一个; exceptfds 用于处理套接字异常,例如断开/关闭操作(对吗?我不知道)。这些只是我的问题,我对它们一无所知(没有文章描述),我想在这里问他们了解。有人可以帮我解决这个问题吗?我将在服务器端(高性能)实现 I/O 系统,我需要非常了解它们!谢谢...
【问题讨论】:
-
你的 readfds 和 writefds 是对的。链接到an explanation of exceptfds。此外,
select()可能不是高性能系统的最佳选择。请考虑epoll(在 Linux 上)或kqueue(在 bsd 上)。即使poll()也可能比select()做得更好。 -
@jxh 谢谢,我正在查看内部...
标签: c++ sockets networking select io