javascript - node.js WebSocket 服务器

标签 javascript html node.js websocket

目前我尝试为我们数据库周围的新事件创建一个推送服务器实例。当然,您会找到很多关于这个主题的信息。

我正在使用: http://static.brandedcode.com/nws-docs/#s6-p1

使用以下客户端实现:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

        <script src="http://cdn.socket.io/stable/socket.io.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            (function() {
                var webSocket = new io.Socket('ws//test', {
                    port: 8080
                });

                webSocket.connect();

                webSocket.on('connect',function() {
                    console.log('Client has connected to the server!');
                });

                webSocket.on('message',function(data) {
                    console.log('Received a message from the server!',data);
                });

                webSocket.on('disconnect',function() {
                    console.log('The client has disconnected!');
                });

                window.ws = webSocket;
            }());
        </script>
    </body>
</html>

控制台返回:

Unexpected response code: 404
XMLHttpRequest cannot load http://ws//test:8080/socket.io/xhr-polling//1303822796984. Origin http://test is not allowed by Access-Control-Allow-Origin.
1303822796984GET http://ws//test:8080/socket.io/xhr-polling//1303822796984 undefined (undefined)

我不知道这个问题。

感谢您的帮助。

您好!

最佳答案

您正在尝试使用 Socket.io 直接连接到 WebSocket 服务器。 如果你只运行一个 WebSocket 服务器而不是 Socket.io 服务器,你可以使用普通的 HTML5 API 连接到 websockets。

例如:

var ws = new WebSocket("ws://domain:port");
ws.onopen = function(){}
ws.onmessage = function(m){}
ws.onclose = function(){}

您使用的是什么浏览器? 目前仅 Google Chrome 支持 WebSockets。在其他浏览器中测试会失败。

关于javascript - node.js WebSocket 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5790763/

相关文章:

javascript - 为什么 node.js 无法识别 "~/"?

javascript - 如何将参数传递给 View

javascript - 在页面完全呈现之前锁定所有提交按钮

javascript - PersistJS 不工作,删除项目时未定义某些功能?

javascript - 遍历Html中的id

node.js - pg-promise 任务双连接?

node.js - nodejs v8内存gc分配失败

javascript - 通过 SSL 从 Google/Microsoft CDN 获取 javascript 库

javascript - 在使用 JavaScript 更改 CSS 类时转义正斜杠 ("/")

javascript - 如何在 HTML5 Canvas 中进行碰撞?