是否有一個簡單的(非迭代)方式來綁定兩個套接字,一個TCP和一個UDP,保證都有相同的臨時端口?保證臨時端口是相同的,當創建兩個套接字,一個TCP和一個UDP
我有一個簡單的服務器,最初通過TCP連接到,但也通過UDP傳輸。我不想從客戶端發送UDP數據包連接,只是爲了讓服務器發現客戶端的UDP臨時端口。除非必須,否則我不想通過初始TCP連接消息發送端口號。
現在,我在TCP套接字上的getsockname之後顯式綁定客戶端UDP套接字的端口,以發現OS分配的臨時端口。它還沒有失敗,但感覺很脆弱。
編輯: 澄清,目前執行假定操作系統絕不會分配一個臨時端口對於已經使用UDP套接字TCP套接字。
你需要什麼端口?你想做什麼? – CodeCaster 2012-08-08 07:08:56
沒關係。有很多方法可以在不發送數據的情況下通知服務器第二個短暫端口,但是如果我可以幫助它的話,我不想做任何一個。 – 2012-08-08 16:30:05
這對我很重要,因爲我很好奇你想做什麼。爲什麼兩個臨時端口(即客戶端OS指定爲連接或數據流*的源端口的端口)必須相同?這樣做有什麼好處,以及操作系統分配的隨機端口有什麼問題? – CodeCaster 2012-08-08 16:59:47