与不在同一网络上的计算机通信

问题描述 投票:0回答:2


我想在不在同一网络上的两台计算机之间进行通信,我尝试使用套接字,但我只找到了在同一网络中进行通信的教程和示例。
我尝试在 stackoverflow 上搜索,但我不清楚要搜索什么。
我想双向发送文本(聊天)。

-编辑-问题是,对我来说,我必须使用或做什么是模糊的,所以我不能更清楚地说我想为聊天应用程序发送双向文本(也许是日期),只是为了学习从。 -编辑-

java communication
2个回答
1
投票

要在两台机器之间进行通信,它们必须位于同一扩展网络上。唯一的其他选择是将数据保存到外部驱动器,例如USB 驱动器,您可以连接到第二台机器并上传。

您可以使用套接字与具有 Internet 连接的任何其他计算机进行通信,前提是您的防火墙已配置为允许连接。防火墙的全部目的是防止未经授权的访问。我怀疑这是你真正的问题。如果您的防火墙阻止访问,您应该无法使用 Java 来解决这个问题(谷歌网络黑客作为替代方案;)

另一种选择是,如果两台计算机无法直接相互通信(它们仍然必须连接到同一网络),则使用电子邮件等服务,这比使用直接连接要复杂得多,但可以做到。

我建议您正确配置防火墙,这样您就可以使用普通套接字。


0
投票

你必须获取外部IP(有些网站在访问时会给你这个IP),并希望防火墙允许通信。通常应使用 1000 以上的端口。 应该有点对点库。

另一种方法是在一台计算机上通过 SSH(JSch 是一个用于 SSH 的 Java 库)。

最简单的方法是电子邮件交换:javax.mail API 很紧凑,但不是最简单的。 (特别是您可以轻松删除所有邮件,就像我曾经做过的那样。)

© www.soinside.com 2019 - 2024. All rights reserved.