0

我正在阅读这个问题的答案: 如何使用 Java 通过网络将文件从一台计算机传输到另一台计算机?

我不明白 jjnguy 的部分答案。LISTENING_PORT 应该是什么?你如何决定使用哪个端口?什么是 CONNECTION_ADDRESS?

我意识到这些是非常基本的网络问题,所以也许有人可以为我指出一个好的教程的方向?

4

2 回答 2

1

Socket 调用具有此签名

公共套接字(字符串主机,int 端口)

查看文档

CONNECTION_ADDRESS 是四无符号字节形式的字符串(可能)(对于 IPV4),即 192.168.0.2

LISTENING_PORT 可以是 0 到 65535 之间的任何数字,尽管小于 1024 的数字被分配给众所周知的服务(在 IANA 上阅读)

这是一个例子:

如果你把它放在你的浏览器地址栏中:74.125.132.94:80 你应该会看到 google。

请注意,在这种情况下它是 CONNECTION_ADDRESS:LISTENING_PORT (有一个分隔:)

这表示在端口 80 (HTTP) 上连接到 74.125.132.94

基本上每台机器都有一个 IP 地址 (CONNECTION_ADDRESS),您正在创建的应用程序将侦听特定的 LISTENING_PORT。根据您的应用程序正在执行的操作,您将分配一个适当的 IANA 服务端口或高于 IANA 范围的任意端口号,所以......

例如,如果您正在创建 Web 服务器应用程序,那么您可以将应用程序设置为侦听端口 80,因为这是标准 HTTP Web 端口

或者

假设您正在创建一个随机游戏应用程序,该应用程序为您的游戏中的人们提供服务,您只需选择一个高于 1024 的随机数,即 12345

然后,您将创建您的客户端并将其连接到服务器所在 IP 上的端口 12345 / 80(您可以通过运行 IPCONFIG (Windows) 或适用于您的服务器操作系统环境的任何命令来计算该服务器 IP)。

于 2012-08-20T19:42:16.807 回答
0

任何端口,即 0 到 65535 之间的数字。接受连接的服务器的 IP地址或名称。尝试解释TCP的 Wikipedia 文章或这个Sun/Oracle 教程

于 2012-08-20T19:38:39.497 回答