WebSocket-Node

授权协议 Apache
开发语言 JavaScript
所属分类 Web应用开发、 Node.js 扩展
软件类型 开源软件
地区 不详
投 递 者 令狐晟
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

WebSocket-Node 是对 WebSocket 协议实现的 Node.js 扩展。

服务器端示例代码:

#!/usr/bin/env node
var WebSocketServer = require('websocket').server;
var http = require('http');

var server = http.createServer(function(request, response) {
    console.log((new Date()) + ' Received request for ' + request.url);
    response.writeHead(404);
    response.end();
});
server.listen(8080, function() {
    console.log((new Date()) + ' Server is listening on port 8080');
});

wsServer = new WebSocketServer({
    httpServer: server,
    // You should not use autoAcceptConnections for production
    // applications, as it defeats all standard cross-origin protection
    // facilities built into the protocol and the browser.  You should
    // *always* verify the connection's origin and decide whether or not
    // to accept it.
    autoAcceptConnections: false
});

function originIsAllowed(origin) {
  // put logic here to detect whether the specified origin is allowed.
  return true;
}

wsServer.on('request', function(request) {
    if (!originIsAllowed(request.origin)) {
      // Make sure we only accept requests from an allowed origin
      request.reject();
      console.log((new Date()) + ' Connection from origin ' + request.origin + ' rejected.');
      return;
    }

    var connection = request.accept('echo-protocol', request.origin);
    console.log((new Date()) + ' Connection accepted.');
    connection.on('message', function(message) {
        if (message.type === 'utf8') {
            console.log('Received Message: ' + message.utf8Data);
            connection.sendUTF(message.utf8Data);
        }
        else if (message.type === 'binary') {
            console.log('Received Binary Message of ' + message.binaryData.length + ' bytes');
            connection.sendBytes(message.binaryData);
        }
    });
    connection.on('close', function(reasonCode, description) {
        console.log((new Date()) + ' Peer ' + connection.remoteAddress + ' disconnected.');
    });
});
  • 在Web应用程序中,实时通信已经成为一种必不可少的功能。WebSocket是一种基于TCP的协议,它提供了双向通信的能力,使得实时通信变得更加容易。Node.js提供了一个内置的WebSocket模块,使得开发实时通信应用程序变得非常简单。在本文中,我将介绍如何在Node.js中使用WebSocket实现实时通信。 什么是WebSocket WebSocket是一种基于TCP的协议,它提供了双向通

  • WebSocket Client & Server Implementation for Node   参考资料:【https://github.com/theturtle32/WebSocket-Node】 转载于:https://www.cnblogs.com/softwarefang/p/7427192.html

  • WebSocket-Node是一个用于实现WebSocket协议的Node.js模块,提供了WebSocket客户端和服务端的实现。下面是一个简单的示例,演示如何使用WebSocket-Node实现一个简单的WebSocket服务器: javascript const WebSocket = require('websocket').server; const http = require('ht

  • 下面描述使用websocket-bench工具进行socket.io性能测试 1, 测试工具准备 1)客户端准备 (1)安装node 安装方法可在网络上查找 (2)安装websocket-bench npm install -g websocket-bench --registry=http://registry.npm.taobao.org (3)修改进程打开最大文件描述符数 vi /etc/p

  • 前言 在使用uni-app做MQTT测试的时候,按照插件市场的mqtt-demo和网上的教程如何在uniapp中使用mqtt尝试了一下,用别人的测试服务端没有问题,当用上自家云端同事做的服务端就出现了错误 WebSocket connection to 'ws://192.168.1.101:4853/' failed: Error during WebSocket handshake: Sent

 相关资料
  • WebSockets是Web应用程序的下一代双向通信技术,可在单个套接字上运行,并通过HTML 5兼容浏览器中的JavaScript接口公开。 一旦与Web服务器建立Web Socket连接,就可以通过调用send()方法将数据从浏览器发送到服务器,并通过onmessage事件处理程序从服务器接收数据到浏览器。 以下是创建新WebSocket对象的API。 var Socket = new Web

  • webSockets 是一种创建持久性的连接,并进行双向数据传输的 HTTP 通信协议。Weex 提供了 webSockets 模块方便用户在 H5/iOS/Android 环境下与服务端创建 webSockets 链接进行通信。 注意 h5 提供 WebSockets 的 protocol 默认实现,iOS 和 Android 需要自定义实现,Android 可参考: DefaultWebSoc

  • WebSocket 服务基于现有 swoole ws server 上的进一步封装实现。即开启 websocket 服务的同时可以处理 http 请求。 安装 Composer 安装 composer require swoft/websocket-server Git 仓库 Github https://github.com/swoft-cloud/swoft-websocket-server

  • Swoole框架提供了WebSocket协议的实现。具体代码可以参考 examples/websocket_server.php和examples/websocket_client.hml。 如何使用 应用程序代码只需要继承 Swoole\Network\Protocol\WebSocket,并实现onMessage方法即可。onMessage方法在服务器端收到客户端消息时回调。Swoole框架已

  • 本章涵盖了如下内容: WebSockets ChannelHandler, Decoder 和 Encoder 引导你的应用程序 real-time web(实时web)是一组技术和实践,使用户能够实时地接收 到作者发布的信息,而不需要用户用他们的软件定期检查更新源。 HTTP 的请求/响应的设计并不能满足实时的需求,而 WebSocket 协议从设计以来就提供双向数据传输,允许客户和服务器在任何

  • 更改历史 * 2018-06-10 胡小根 初始化文档 1 历史、现状和发展 1.1 历史 1.2 现状 1.3 发展 难点:预测发展方向。 2 安装和使用 2.1 安装 2.2 使用 2.2.2 调试 Simple WebSocket Client 2.3 示例 2.4 最佳实践 难点:最佳实践,超出于示例,应该归纳总结出积累的技巧。 3 同类技术对比 难点:归纳比对项 参考资料