Tag: websocket

后端服务器软件与PHP / MySQL / JS类似Facebook的聊天?

我用PHP和JavaScript开发了一个类似Facebook的聊天工具。 这是一个论坛软件的插件。 目前我使用(短)轮询来接收新的消息,但我想用更好的东西来尝试它,比如套接字。 你会推荐什么样的聊天(可以在每个站点,私人聊天,组聊天..):WebSockets,node.js与socket.io,ejabberd …

websockets,从服务器的消息更新div

websocket.onmessage = function (evt) { console.log('Retrieved data from server: ' + evt.data); $('#someDiv').append(evt.data); }; 如果我在浏览器中打开2个选项卡,为什么这个事件仅在我发送消息的活动选项卡中触发? 由于数据是从服务器收到,不应该在两个标签同时触发? 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 […]

node.js + socket.io – 重复的websocket写入?

我是新来的node.js和socket.io场景,所以这可能是一个简单的解决scheme…但在这里。 我有以下POC通过UDP接收消息并将其回显给浏览器。 在55555上接收UDP消息,执行websocket写入,并且客户端在浏览器中看到数据。 但是,当另一个客户端连接到服务器时,在收到数据报时会执行四个websocket写入 – 每个客户端有两个我相信,因为附加数据现在显示两次 。 创build第三个客户端显示了六个websocket写入 – 附加数据现在出现三次。 任何想法是什么造成这个? 愚蠢的错误? 误读? 错误? 服务器: var dgram = require("dgram"); var udpserver = dgram.createSocket("udp4"); udpserver.bind(55555); //udp listener var express = require("express"); var app = express(); var http = require('http'); var server = http.createServer(app); var io = require('socket.io').listen(server); server.listen(12345); //tcp http listener io.sockets.on('connection', function (socket) { udpserver.on('message', […]

继续框架不能跟随当前的操作码

我在一个Node websocket服务器中使用ws 。 在生产中,我经常得到这个错误: Error: continuation frame cannot follow current opcode 这是什么原因造成的? 在开发环境中如何去debugging和复制这个错误呢? 编辑: 似乎并不特定于浏览器,我从Chrome,Firefox和IE10以及不同操作系统的连接中捕获了这些错误。 编辑2: 在这里抛出错误。 显然,在一个代码为!= 1 &&!= 2的帧之后接收到操作码为0的帧之后。 编辑3: RFC6455第5.2节显示了操作码的含义和帧的解剖结构。

BinaryJS的替代? 通过websockets在浏览器和服务器之间复用stream

我需要通过单个Websocket连接在浏览器和Node.js服务器之间多路复用一对stream。 一个stream将被用于从浏览器发送二进制数据到服务器,另一个将被用于一个简单的RPC 。 我偶然发现了BinaryJS ,这正是我想要的。 但是,它具有二进制数据的特定问题,并且不会定期维护。 有其他select吗? 我的要求: 二进制兼容(无需二进制数据的JSON序列化…需要大量的带宽) 支持多个双向stream 我其实并不在乎浏览器的支持。 我的应用程序依赖于其他现代的API,所以我只针对当前版本的Chrome和Firefox。 有任何想法吗?

使用socket.io和sails.js发送特定于会话的消息

我试图实现一个私人聊天function,使用sails.js框架,当我试图发送消息给特定用户时,我有一些麻烦。 目前,我通过使用socket.io的.socket(socket.id).emit(event,message)将消息发送到特定的socket.id来实现私人通信,但是这种方法的问题是每次用户打开一个新的选项卡,为新的连接生成一个新的socket.id。 而我的问题是:sails.js是否有助于发送事件(使用socket.io)到一个特定的用户会话,而不是一堆socket ID的方式吗? 这些技术有可能吗? 所以我只能发送一次该事件,并确保在聊天应用程序当前打开的所有选项卡中都收到该事件。 提前致谢。

如何为'ws'Web-Socket模块创build自定义事件?

是否有可能在NodeJS中为'ws'websocket模块创build自定义事件发送器和监听器(就像socket.io中的那样)。 如果是的话,我该如何实现呢? //这是我想达到的目标(反之亦然): // listening on server WebSocket.on('connection', function (ws) { ws.on('myCustomEvent', function(data) { // do something with the data }); }); // emitting from client socket.emit('myCustomEvent', data);

如何将websocket二进制消息作为stream发送到Google Speech API?

我正尝试将WebSocket连接的audiostream发送到Google Speech API。 websocket以20ms的增量发送二进制消息。 它发送它的增量导致我相信,我将不得不读取和写入数据临时本地文件,以避免与Google的连接。 但是,这并不理想。 有没有办法直接pipe道WebSocketstream到recognitionStream? Google streaming从文档中识别示例: const request = { config: { encoding: encoding, sampleRate: sampleRate } }; const recognizeStream = speech.createRecognizeStream(request) .on('error', console.error) .on('data', (data) => process.stdout.write(data.results)); record.start({ sampleRate: sampleRate, threshold: 0 }).pipe(recognizeStream); Websocket连接: var HttpDispatcher = require('httpdispatcher'); var dispatcher = new HttpDispatcher(); var WebSocketServer = require('websocket').server; var server = http.createServer(handleRequest); […]

如何发送消息与websocket

我试图在WebSocket中发送消息到TypeScript。 我用两个函数创build了一个Socket服务:.onMessage()和.emit(message): import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { Message } from '../message/message.model'; import * as socketIo from 'socket.io-client'; const SERVER_URL = 'http://localhost:8080'; @Injectable() export class SocketService { private socket; public initSocket(): void { this.socket = socketIo(SERVER_URL); } public send(message?: Message): void { this.socket.emit('displayHello', { to: 'flo@NXS_DEV_FLO2', from: […]

node.js与Chrome 14+和Safari兼容的WebSocket服务器?

我一直使用http://github.com/ncr/node.ws.js中的node.js WebSocket实现,但它只与Safari 5.0.1实现的hixie-76版本的协议兼容。 我还需要使用Chrome,它现在按照RFC 6455实施官方协议。 有没有人知道与hixie-76和hixie-76 hybi-17 (又名“版本13”)兼容的node.js的服务器端实现? 请不要推荐Socket.IO – 这不是真正的WebSockets! 我所知道的实现不起作用(撰写本文时)是: https://github.com/Worlize/WebSocket-Node https://github.com/ncr/node.ws.js https://github.com/Guille/node.websocket.js https://github.com/einaros/ws