我一直在尝试在局域网中的两台计算机之间建立非常基本的连接。我查看了几个代码片段并从那里开始,但事情似乎从一开始就失败了:创建一个套接字。
我已经尝试过连接到我正在执行代码的计算机(使用主机名“Jeroen-DESKTOP
”和“Localhost
”以及本地主机 IP“127.0.0.1
”),并连接到我的笔记本电脑(使用“Jeroen-LAPTOP
”)。我已尝试使用端口 6666
和 7598
,并在防火墙设置中打开了与其的所有 TCP 连接。
我使用的代码非常基本:
socket = new Socket("Jeroen-LAPTOP", 6666);
System.out.println(socket.getPort());
错误是:
java.net.ConnectException: Connection refused: 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 domain.Client.<init>(Client.java:13)
最佳答案
不知道自己在做什么 -
假设您在机器 A 上打开一个套接字并尝试使用机器 B 连接到它,那么 Java 中的典型场景是。
机器A:
ServerSocket server = new ServerSocket(4444);
Socket connection = server.Accept();
机器B:
Socket sock = new Socket(MACHINE-A-IP, 4444);
这需要异常处理等才能使其工作。您可以在这里查看示例; http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html
关于您的评论 - 是的,您可以在本地运行它们。
关于java - 创建新 LAN 套接字时连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14005794/