2

我正在使用 Ocaml 中的 TCP/IP 套接字开发一个协议,并且我有兴趣实现事件驱动的方法。基本上,我想制作事件处理函数,当套接字接收到新数据或关闭或打开时调用。

是否可以在不使用多个线程手动实现的情况下在 Ocaml 中进行操作?

谢谢,

4

1 回答 1

6

是的。创建一个循环并用于Unix.select等待 fds 上的事件。您必须将套接字设置为非阻塞模式,Unix.set_nonblock以便您的读写不会阻塞,并且如果没有数据要读/写,您可以返回您的选择(因为即使select返回您的 fds 是可读的/可写并不意味着对它们的读/写不会阻塞)。

于 2013-05-24T10:37:54.163 回答