3
我已经创建了一个UDP套接字(UDP已被绑定),现在我想让服务器监听,如果有客户端尝试连接,监听UDP将接受并将套接字传递给新线程执行recvfrom和sento操作。监听UDP和监听
那么我该怎么做呢?客户如何告诉服务器他想连接?我可以在UDP中使用FD_CONNECT
和FD_ACCEPT
吗?
谢谢。
我已经创建了一个UDP套接字(UDP已被绑定),现在我想让服务器监听,如果有客户端尝试连接,监听UDP将接受并将套接字传递给新线程执行recvfrom和sento操作。监听UDP和监听
那么我该怎么做呢?客户如何告诉服务器他想连接?我可以在UDP中使用FD_CONNECT
和FD_ACCEPT
吗?
谢谢。
UDP是无连接协议。您不需要连接udp套接字。请注意,在UDP套接字上使用连接可能会有不同的语义方面:在Linux上,例如在UDP套接字上调用的连接,将套接字“绑定”到特定的IP地址,但这只是本地绑定,网络上没有任何事情发生。
那么我如何知道客户端想要连接服务器呢?那是什么FD事件? – 2011-03-14 08:38:53
@Chicko Bueno:UDP中没有连接。您只需接收或发送数据报。这是因为UDP不需要握手来建立连接参数。它比TCP更快但更不可靠。当你收到一个UDP数据报时,你可以像使用TCP一样使用经典的recv读取它。 – Heisenbug 2011-03-14 08:43:48
@Overbose感谢您的反馈。如果我想知道客户端的存在,我只需要我的UDP等到客户端发送一些数据,并且事件对应于FD_READ。我对么? – 2011-03-14 09:08:08