我打破了我的想法試圖瞭解如何讓自己寫的客戶端/服務器接受多個套接字連接。套接字控制接受多個UDP連接
該連接是一個數據報(UDP),現在基於getaddrinfo(3) man page
實現的工作很好,但每個客戶端都需要等待早期連接進程的處理。
我聽說過選擇,但在它的手冊頁說:
select()方法可以用來解決在 便攜和高效的方式,天真的程序員嘗試在 解決的問題很多更復雜的方式使用線程,分叉,IPC,信號,內存 共享,等等。
更:
的Linux特定epoll的(7)API提供一個接口,比選擇(2)和輪詢(2)監測當大量 文件的 更 高效描述。
那麼,這是什麼? epoll簡直比選擇更好?或者它取決於?如果取決於什麼?
epoll手冊頁有部分樣本,所以我試圖理解它。
現在,(在服務器上)我想,我需要一個線程在線程中偵聽並在另一個線程中寫入。但是如何控制部分消息的完成?如果兩個客戶端發送部分消息交錯,如何識別?由sockaddr?如果它是唯一的需要,我可以在沒有游泳池的情況下管理它,那麼爲什麼要使用epoll?
任何人都可以嘗試向我解釋如何製作或在哪裏瞭解多連接客戶端服務器UDP應用程序?
1.是,'epoll'比'select'更好。 2.閱讀本書[Unix Network Programming](http:// www。unpbook.com/) –
我會閱讀它,謝謝你的迴應......如果你將你的評論推薦給回覆,我會對它進行投票。 – ton
沒有「接受多個UDP連接」這樣的東西。只有從一個或多個遠程源讀取UDP數據報。 – EJP