创建新的LAN套接字时拒绝连接

时间:2012-12-22 19:20:09

标签: java sockets

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

我已尝试连接到计算机我正在执行代码(使用主机名“Jeroen-DESKTOP”和“Localhost”以及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 个答案:

答案 0 :(得分: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

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