【问题标题】:notepad++ with node using sockets error记事本++与节点使用套接字错误
【发布时间】:2014-07-14 22:59:37
【问题描述】:

我正在尝试将消息从网页发送到节点服务器。我使用记事本++。我的 html 看起来像这样:

<!DOCTYPE html>
<html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js"></script>
    <script>
        function one()
        {
            var socket = io.connect('http://192.168.201.91:8001');//connect the socket to url
            socket.emit('Stream', {"StreamName": "Livestream1"});//send the socket with the parameter and data
        }
    </script>
    </head>
    <body>
        </br>
        </br>
        <center><button type ="Button"  onclick="one()">Stream name 1</button></center>
</body>
</html>

这些应该连接到给定地址上的节点服务器。
在节点中,我设置了这样的套接字:

var io_client = require('socket.io').listen('8001');
io_client.on('Stream', function(data)
{
        var name = data;
        console.log(data);
});

我是否需要使用 socket.io-client 来从 html 获取消息到服务器和服务器进行监听? 任何帮助都会很棒

【问题讨论】:

  • 这里的HTML 是什么?
  • 代码更新以显示 html 而不仅仅是其中的 javascript

标签: javascript html node.js socket.io


【解决方案1】:

你的问题有两个问题。

1.) 使用最新版本的socket-io 客户端。较旧导致bad request 错误。使用以下

<script src="https://cdn.socket.io/socket.io-1.0.6.js"></script>

2.) 你在服务器中的代码应该是这样的。

var server = require('socket.io').listen('8001');
server.on('connection',function(socket){
    console.log('connection');
    socket.on('Stream', function(data){
       var name = data;
       console.log(data);
    });
});

您期待服务器本身发生Streams 事件。但它会发生在发送它的那个套接字上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 2015-10-30
    • 2021-11-02
    • 2014-05-25
    • 2021-04-03
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多