Java 套接字、回显服务器

标签 java sockets

我正在尝试使用java套接字做一个非常基本的回显服务器,它在本地运行得很好(在同一台计算机上运行服务器和客户端),当我尝试从另一台计算机运行客户端时,我得到了异常:

Couldn't get I/O for the connection to XXX.XXX.XX.X

XXX.XXX.XX.X 是运行服务器的计算机的 IP

顺便说一句:我的服务器和客户端代码大致是Oracle初学者教程的代码: server client

编辑: 我得到的完整堆栈跟踪:

java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at sockets.Client.main(Client.java:16)

最佳答案

I get the exception

    Couldn't get I/O for the connection to XXX.XXX.XXX.XXX

不是异常(exception)。这是一个设计不当的错误消息,隐藏异常。当您遇到异常时,不要显示/打印/记录您自己设计的无意义的错误消息。显示/打印/记录异常本身、及其消息、及其类、及其堆栈跟踪

EDIT: The full stacktrace I get:

    java.net.ConnectException: Connection timed out: connect

正是如此。这是真正的异常,它几乎肯定意味着有防火墙阻止您建立所需的连接。

关于Java 套接字、回显服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354221/

相关文章:

java - 在 Hibernate 中更新表时出现 "Not mapped"异常

java - 我的 dll 代码可以从 exe 文件运行,但无法从 Java loadLibrary 加载

java - 如何在 Velocity 上配置 UTF-8?

javascript - 全局安装后找不到模块 'socket.io'

node.js - 当 FreeSWITCH Node esl 服务器已桥接到另一个端点时,以编程方式在 FreeSWITCH Node esl 服务器内传输调用

c# - 从 UWP 发送消息到 socket.io

c - 程序写入socket后自动关闭

sockets - 在Jmeter上设置socket.io连接时出错

java - 将二进制字符串从 java 转换回有符号整数

java - 如何为自定义 Spring Batch Reader 编写 junit