有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

创建新LANsocket时拒绝java连接

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

我尝试了连接到我正在执行代码的计算机(使用主机名“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)

共 (1) 个答案

  1. # 1 楼答案

    不知道你在做什么-

    假设您正在机器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

    关于您的评论-是的,您可以在本地运行它们