我正試圖編寫一個服務器/客戶端對通過udp運行,並且唯一能夠讓它啓動的方法是在連接啓動之前讓服務器知道客戶端的ip和端口。我的新設計包括等待數據包進入,記錄發件人地址,分支給子進程(父進程循環並繼續監聽),然後向客戶端發送數據包。然後孩子只能接收來自關聯客戶端的數據包,但文檔不清楚的是父套接字將繼續接收來自該客戶端的流量。我正在開發一個程序來嘗試它,但我想我可以同時提出這個問題。斷開連接的udp套接字是否仍然接收來自另一個套接字連接的端口的通信?
編輯:看來,當孩子的插座是connected'd
它也會連接父母的插座。
我不認爲你明白UDP協議是什麼。它被設計成一個**無連接**協議。 –
@JacobPollack從'connect(2)'手冊頁:「如果套接字sockfd是SOCK_DGRAM類型,那麼addr是默認發送數據報的地址,並且是接收數據報的唯一地址。 –
問題是,是否有來自'addr'的數據包從父節點中的套接字轉向,該套接字綁定到相同的端口? –