2012-01-06 37 views
0

我正在關注this示例。我只想改變一下,就是不用TCP併發服務器,我想讓服務器成爲UDP服務器。併發UDP服務器使用select()調用

我最初得到的是listen()不支持的錯誤消息,這很有道理。在UDP套接字上使用listen()沒有意義。

現在我卡在accept: Operation not supported錯誤消息。導致錯誤的線是 - newfd = accept(listener,(struct sockaddr *)&remoteaddr,&addrlen);

我的問題是 - 如何做UDP套接字上的I/O複用?

回答

4

由於UDP不是面向連接的,所以不能進行接受。你必須從綁定的UDP套接字讀取數據,這會給你一個數據包。

0

您可以使用傳入數據包的IP:端口。該信息作爲recvfrom()的一部分提供。