套接字编程:将名称分配给端口号

时间:2013-09-04 06:31:59

标签: java sockets networking network-programming

是否可以为端口号

指定名称

喜欢

localhost:8888 as localhost:xyz

localhost:9000 as localhost:abc

我想隐藏端口号从客户端,同时给他们链接

我有视频流服务器(不同端口上的不同流媒体)...想要隐藏端口号,因为任何人都可以更改端口并且能够看到其他流

2 个答案:

答案 0 :(得分:2)

不,你不能这样做。 TCP / IP的工作方式要求两端都知道端口号,就像它们都必须知道对方的IP地址一样。

答案 1 :(得分:0)

您需要将端口号(源和目标端口号)传递给传输层。 TCP使用端口multiplexing的概念,即为不同的应用程序使用不同的端口号。此外,如果您检查TCP标头,则有源和目标端口的字段。

因此,您无法更改transport图层数据包或TCP数据包中的任何内容。但是您始终可以控制application图层,因此您可以在应用程序中创建端口和名称的映射,并可以使用它。您可以使用Map等数据结构来存储端口号和名称映射。这将允许您在应用程序逻辑中使用端口名称。但是,当通过套接字或TCP层发送数据包时,请确保传递端口号而不是名称。