java - 在 Java 中创建远程 SocketServer 时出现 Connectiontimedout 错误

标签 java sockets server

在套接字编程中,当服务器套接字位于同一台电脑(即 127.0.0.1)上时,我能够连接到服务器套接字,但是当我在远程位置的 friend 运行服务器程序并且我尝试连接到它时,它会显示 Connectiontimedout错误。

我给出的 IP 地址和端口号是正确的。

我需要添加一些额外的东西吗?

最佳答案

为了远程访问服务器,您的 friend 应该将服务器绑定(bind)到您的机器可以访问的IP地址。如果您 friend 的 ISP 或 wifi 路由器分配了private IP address,则情况不会如此。给他。

在这种情况下,你们俩都可以加入 Virtual Private Network位于同一网络上。

另一个选项是 port forwarding 。如果你们俩都可以访问公用机器,那么您的 friend 可以将公用机器的端口转发到应用程序服务器的端口到他的机器。现在您可以通过访问普通机器上转发端口的套接字来访问您 friend 的应用服务器了。

如果你们俩已经在同一个网络上,那么服务器可能只在 127.0.0.1 接口(interface)上监听。

关于java - 在 Java 中创建远程 SocketServer 时出现 Connectiontimedout 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33648906/

相关文章:

JAVA:没有得到我想要的小数位数

c - SSL_read 无限期阻塞

python - Python 中的基本浏览器。从用户那里获取 URL

c - 为什么不能将 C 标准 I/O 与套接字一起使用

c# - 连接windows客户端和linux服务器

java - 使用反射获取列表的副本

java - 检查字符串是否是用 Java 编码的有效 UTF-8

java - 在签名的 jar 中使用 Java 配置

javascript - 重定向至手机版,同时仍保留域名

c++ - 服务器只从客户端接收空字符串?