java - 创建新 LAN 套接字时连接被拒绝

标签 java sockets

我一直在尝试在局域网中的两台计算机之间建立非常基本的连接。我查看了几个代码片段并从那里开始,但事情似乎从一开始就失败了:创建一个套接字。

我已经尝试过连接到我正在执行代码的计算机(使用主机名“Jeroen-DESKTOP”和“Localhost”以及本地主机 IP“127.0.0.1”),并连接到我的笔记本电脑(使用“Jeroen-LAPTOP”)。我已尝试使用端口 66667598,并在防火墙设置中打开了与其的所有 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/

相关文章:

c - c 中的 TCP 聊天无法正确读取/发送字符串

swift - socket.io连接成功后如何获取数据?

选择一个已被使用的本地源端口

c - 关于实现新的传输协议(protocol)

java - 如何在JAVA中添加约束和条件?

java - jdbc mysql 与远程数据库的通信链路失败

java - 获取数组长度时出错抛出异常

java - 安卓工作室游戏开发

java - 为什么我的所有对象数组都覆盖了自己,但字符串数组却没有 - java

node.js - 在生产实例上找不到socket.io.js