如何将服务绑定到任何主机的端口?
Posted
技术标签:
【中文标题】如何将服务绑定到任何主机的端口?【英文标题】:How to bind a service into any host's port? 【发布时间】:2021-11-23 21:11:55 【问题描述】:你好,????
我想知道服务(如 mysql、apache、mongoDB)如何绑定到服务器/本地机器中的端口。这是如何工作的?
我猜当服务启动时,它会尝试连接到端口,如果可能,服务会“暂停”,直到操作系统收到针对所选端口的请求。是否有任何文档说明这是如何工作的?
谢谢!
【问题讨论】:
你使用 Linux 内核系统调用。首先你创建一个socket 和bind 到一个端口,然后你listen 和accept 传入请求。那里有很多书籍和教程。详细回答这个问题超出了 *** 的用途。尝试一些,然后再提出更具体的问题。 【参考方案1】:我可以帮你吗?
这是一个list of TCP and UDP port numbers used协议,用于运行网络应用程序。
传输控制协议 (TCP) 和用户数据报协议 (UDP) 只需要一个端口用于双工双向流量。它们通常使用与相应 TCP 或 UDP 实现的服务相匹配的端口号(如果存在)。
【讨论】:
实现是如何工作的?我之所以问,是因为我想了解我的服务器是如何与机器绑定的,以及当对 TCP/UDP 端口发出请求时操作系统如何调用服务。以上是关于如何将服务绑定到任何主机的端口?的主要内容,如果未能解决你的问题,请参考以下文章
Bad Request (Invalid Hostname) 是啥意思