首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TCP和UDP套接字可以使用同一端口吗?

TCP和UDP套接字可以使用同一端口吗?
EN

Stack Overflow用户
提问于 2011-06-22 17:01:36
回答 2查看 70.5K关注 0票数 123

首先,在同一台服务器上同时使用UDP和TCP有什么问题吗?

其次,我可以使用相同的端口号吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-22 17:05:02

可以,您可以对TCP和UDP使用相同的端口号。许多协议已经这样做了,例如DNS在udp/53和tcp/53上工作。

从技术上讲,每个协议的端口池是完全独立的,但对于可以使用TCP或UDP的高级协议,它们的默认端口号是相同的。

在编写服务器时,请记住TCP套接字的事件序列比UDP套接字的事件序列要难得多,因为除了正常的socketbind调用之外,您还必须对listenaccept进行调用。

此外,该accept调用将返回一个新的套接字,然后您还必须轮询接收事件的套接字。您的服务器应该准备好在原始套接字上继续接收连接,同时为多个客户端提供服务,每个客户端都将在自己的套接字上触发accept事件。

票数 133
EN

Stack Overflow用户

发布于 2014-09-01 11:07:17

首先,在服务器上同时使用tcp和udp是没有问题的。

其次,我们可以在同一端口上同时有UDP和TCP请求,因为每个请求都由一个由源IP、目标IP、源端口、目标端口、协议(因为协议可以是TCP或UDP)组成的五元组来标识。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6437383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档