我想在不在同一网络上的两台计算机之间进行通信,我尝试使用套接字,但我只找到了在同一网络中进行通信的教程和示例。
我试图在 stackoverflow 上搜索,但我不知道要搜索什么。
我想双向发送文本(聊天)。
-edit-问题是,对我来说,我必须使用或做什么是模糊的,所以我不能更清楚地说我想为聊天应用发送双向文本(可能是日期),只是为了学习. -编辑-
我想在不在同一网络上的两台计算机之间进行通信,我尝试使用套接字,但我只找到了在同一网络中进行通信的教程和示例。
我试图在 stackoverflow 上搜索,但我不知道要搜索什么。
我想双向发送文本(聊天)。
-edit-问题是,对我来说,我必须使用或做什么是模糊的,所以我不能更清楚地说我想为聊天应用发送双向文本(可能是日期),只是为了学习. -编辑-
要在两台机器之间进行通信,它们必须在同一个扩展网络上。唯一的其他选择是将数据保存到外部驱动器,例如 USB 驱动器,您可以连接到第二台机器并上传。
您可以使用套接字与具有 Internet 连接的任何其他计算机进行通信,前提是您的防火墙并配置为允许连接。防火墙的重点是防止未经授权的访问。我怀疑这是你真正的问题。如果您的防火墙阻止访问,您应该无法使用 Java 解决此问题(谷歌网络黑客替代方案;)
如果两台计算机不能直接相互通信(它们仍然必须连接到同一个网络),另一种选择是使用电子邮件等服务。这比使用直接连接要复杂得多,但可以做到。
相反,我建议您正确配置防火墙,并且您将能够使用普通套接字。
您必须获取外部 IP(有些网站在访问时会为您提供此 IP),并希望防火墙允许通信。通常应该使用 1000 以上的端口。应该有对等库。
另一种方法是在一台计算机上通过 SSH(JSch 是一个用于 SSH 的 java 库)。
最简单的方法是电子邮件交换:javax.mail API 很紧凑,但不是最简单的。(特别是您可以轻松删除所有邮件,就像我曾经做过的那样。)