0

几周前,我通过 socket.io 编写了一个简单的 node.js 应用程序。我的程序在我的电脑上很好,但是当我试图在我的笔记本电脑上运行它时。我在控制台上遇到了一个非常奇怪的错误。
请注意,我正在运行节点127.0.0.1:2324。我不知道0.0.9.20chrome 控制台上的 ip ( ) 是什么。

同样,我的代码是正确的,因为它在我的 PC 上运行良好

在此处输入图像描述
我在我的 cmd 上得到了这个:

在此处输入图像描述
我的paint.html代码是这样的:

<script src="http://127.0.0.1/node/paint/js/jquery.js"></script>
<script src="http://127.0.0.1/node/paint/js/cursor.js"></script>
<script src="http://127.0.0.1/node/paint/js/controllers.js"></script>
<script src="http://127.0.0.1/node/paint/js/core.js"></script>
<script src="http://127.0.0.1:2324/socket.io/socket.io.js"></script>
<link  href="http://127.0.0.1/node/paint/css/style.css" rel="stylesheet" />

核心.js

// broadcat function
    function broadcast(data)
    {
        var socketio = io.connect(serverPort);
        socketio.emit("message_to_server", { pen : data});
    }

    // receive data from server
    var socketio = io.connect(serverPort);
    socketio.on("message_to_client", function(data) 
    {
        var res_brush = data['pen'];
        var brush_data_rec = res_brush['pen'].split('|');
        draw(brush_data_rec[0],
             brush_data_rec[1],
             brush_data_rec[2],
             brush_data_rec[3],
             brush_data_rec[4],
             brush_data_rec[5],
             brush_data_rec[6]);
    });

更新:
在此处输入图像描述

4

1 回答 1

3

您应该在客户端上明确指定要连接的目标主机名,以避免混淆客户端要连接的地址。还有一种更简洁的方法来指定目标端口。

var socket = io.connect('http://localhost/', {
  'port': 8080,
  'transports': ['websockets']
});
于 2013-09-29T23:08:21.743 回答