我應該使用監聽,並在對閱讀等應用程序不同的端口?如果是這樣,爲什麼不一個單一的端口爲聽力和閱讀?不同的端口,用於聽力和閱讀
0
A
回答
0
如果這是UDP,你套接字綁定到的端口號聽,當你寫,你寫尚未綁定到任何特定的端口(發送並不重要)的插座,所以您可以使用相同的端口進行讀取和寫入,而不會有任何問題。只需將目標IP的端口設置爲您正在監聽的同一端口號即可。我更喜歡這樣做,因爲當我通過Wireshark嗅探流量時,通過查看端口號(而不是查找發送端口和接收端口),我可以識別我的流量(發送和接收)。另一方面,您可能希望能夠分別識別發送和接收,所以這將是不使用相同端口號進行發送和接收的原因。
如果這有點像一個多播或廣播基於「對等發現」協議,您將需要發送和接收端口是相同的。在這種情況下,一個對等體既是同一數據的發送者又是接收者,因此對於讀取和寫入的所有對等端,端口號必須相同。如果發送和接收的端口號不同,則會發送數據但從未收到數據。
1
如果你談論的是TCP,你沒有得到的選擇:接受套接字使用相同的本地端口作爲偵聽端口(和出站端口必須使用不同的端口,如果需要的話)。如果你在談論UDP,沒有理由使用多個套接字,所以沒有機會使用多個端口。所以兩種情況下的答案都是一樣的:使用一個端口。
+0
EJB,你是對的。非常感謝您的糾正。 +1 – shevchyk
相關問題
- 1. 端口的收聽能力
- 2. 閱讀com端口
- 3. 聽力同一端口,不同的IP地址,WCF +非WCF應用上
- 4. 我應該聽不同的端口,還是同一個端口?
- 5. 使用不同於後端端口的前端端口
- 6. 如何閱讀DIO端口?
- 7. 設置清漆監聽不同的端口,而Apache監聽端口80
- 8. 將IIS 7設置爲偵聽不同於80的端口
- 9. 相同的代碼不適用於不同於80的端口
- 10. 力冬眠閱讀
- 11. NPM集羣模塊和偵聽不同的端口
- 12. 閱讀串行端口中的子進程閱讀
- 13. 閱讀COM端口的數據
- 14. 同一端口上的兩位聽衆?
- 15. 端口5432不聽Raspberry PI
- 16. 不斷收聽端口
- 17. tomcat6關閉端口不聽
- 18. SpringBoot不能聽端口
- 19. 使用兩個不同的端口監聽本地主機
- 20. 使用node.js在2個不同的端口上偵聽
- 21. 聽COM端口
- 22. ShinyBuilder的端口可以配置爲在不同的端口上監聽
- 23. 閱讀完成行Java串行端口
- 24. 閱讀特定端口打開
- 25. 閱讀端口信息問題
- 26. Ansible:known_hosts模塊的端口不同於22
- 27. ec2上不同於ssh的端口
- 28. 如何閱讀使用COM端口通過串口讀取電能表讀數?
- 29. 如何發佈不同於默認端口的端口?
- 30. 閱讀和寫作上的I/O端口
你說的是TCP或UDP端口?如果使用TCP,那麼您不必擔心,因爲您使用一個套接字(端口)來監聽連接,並且在接受新連接時,您會自動獲得一個帶有新端口的新套接字。 –
不完全。 TCP連接由兩端的IP /端口標識。因此,接受的連接可以在服務器端使用與偵聽套接字相同的IP /端口。見例如在這裏:http://stackoverflow.com/questions/489036/how-does-the-socket-api-accept-function-work –
@JoachimPileborg不想你不行,你得到的*同*當地一個新的TCP套接字端口號。 – EJP