Answers:
是的,您可以为TCP和UDP使用相同的端口号。许多协议已经做到了这一点,例如DNS可在udp / 53 和 tcp / 53上运行。
从技术上讲,每个协议的端口池是完全独立的,但是对于可以使用TCP或UDP的更高级别的协议,约定默认使用相同的端口号。
在编写服务器时,请记住,TCP套接字的事件序列比UDP套接字的事件序列困难得多,因为除了常规socket
和bind
调用之外,您还必须listen
和accept
。
此外,该accept
调用将返回一个新的套接字,然后您还必须轮询该套接字以获取接收事件。您的服务器应准备好继续accept
在原始套接字上建立连接,同时为多个客户端提供服务,每个客户端将触发各自套接字上的接收事件。