两台计算机之间的套接字连接

时间:2019-02-22 21:02:25

标签: java node.js sockets

我正在尝试在node.js和Java程序here之间进行最基本的套接字通信。

当我尝试在本地主机上提供的代码时,一切正常。但是当我使用另一台笔记本电脑进行连接时,服务器端无法显示任何消息。

基本上,我将“ localhost”更改为IP地址,如下所示:

var net = require('net');

var client = net.connect(4444, myIp, function() {
    console.log("connected!");
});
client.setEncoding('utf8');
setInterval(function() {
  console.log("Writing....")
  var ret = client.write('Hello from node.js\n');
  console.log("Wrote", ret)
}, 1000);

并且服务器代码保持不变。但是我在服务器端没有看到任何输出,并且客户端中也未显示“已连接”消息。

我也尝试在服务器中修改代码。我将server = new ServerSocket(4444)更改为server = new ServerSocket(4444, 50, InetAddress.getByName(myIp))

public class SocketServer {

    public static final int port = 12345;
    private ServerSocket server;

    public void listen() {
        try {
            // server = new ServerSocket(4444);
            server = new ServerSocket(4444, 50, InetAddress.getByName(myIp));
        } catch (IOException e) {
            System.out.println("Could not listen on port 4444");
            System.exit(-1);
        }
        while(true){
             ... Same code here
        }
    }

    /* creating new server and call it's listen method */
    public static void main(String[] args) {
        new SocketServer().listen();
    }

但是有无法绑定到该ip的IoException。

关于如何修改代码以在具有不同ips的两台笔记本电脑之间建立套接字连接的任何建议吗?

更新
(1)我个人认为我并没有问与此post相同的问题。我在本地主机上工作没有问题,但是在使用两台具有不同ips的计算机时遇到了问题。
(2)我检查了笔记本电脑的防火墙是否关闭。

0 个答案:

没有答案