如何决定在套接字通信中使用哪个端口

Posted

技术标签:

【中文标题】如何决定在套接字通信中使用哪个端口【英文标题】:How to decide which port to use in socket communcation 【发布时间】:2017-02-01 10:49:31 【问题描述】:

我要写一个Socket通信程序来实现 进程间通信。

我知道我需要一个客户端和服务器实现。 服务器实现:

MyServerice = new ServerSocket(PortNumber);

客户端和服务器将在同一台机器上,所以我不想干扰任何其他正在运行的应用程序

如何决定使用哪个端口号?

【问题讨论】:

通常我在google上搜索端口号。 【参考方案1】:

你可以看看这个table 这些大部分都是,你永远不会知道是否有任何其他外部应用程序正在使用你想到的端口,所以在你的情况下是一个

先到先得问题

【讨论】:

我想我会尝试使用 1024 作为端口号,因为 1023 是最大的【参考方案2】:

我认为在实现 websocket 对象时,WebSocket 协议通信通常使用 TCP 端口号 80,因此使用防火墙阻止非标准互联网连接的环境仍然会通过 WebSocket 数据包。

【讨论】:

以上是关于如何决定在套接字通信中使用哪个端口的主要内容,如果未能解决你的问题,请参考以下文章

Linux 套接字与文件描述符

是否可以让 3 台服务器使用 Python 套接字在一个端口(比如端口 48000)上相互通信

如何找到哪个进程绑定了一个套接字但不监听?

[解决]通常每个套接字地址只允许使用一次

Socket是如何通信的?

使用 IPC 如何告诉客户端服务器正在侦听哪个端口?