Articles of websocket

WebSocket连接到'ws:// localhost:3000 /'失败:连接在收到握手响应之前closures

我参加了一个我的朋友制作的游戏,并希望通过在WebRTC和Websockets之间的对等点之间发送按键数据来跨浏览器进行游戏。 但是,我在控制台中得到这个错误: WebSocket连接到'ws:// localhost:3000 /'失败:连接在收到握手响应之前closures 我的服务器文件有以下几行: 'use strict'; const express = require('express'); const SocketServer = require('ws').Server; const path = require('path'); const PORT = process.env.PORT || 3000; const INDEX = path.join(__dirname, 'index.html'); const server = express(); server.use(express.static(path.join(__dirname, 'lib'))); server.use('/assets', express.static(path.join(__dirname, 'assets'))); server.listen(PORT, () => console.log(`Listening on ${ PORT }`)); const wss = new SocketServer({ server }); […]

为什么WebSocket.onmessage事件不会触发?

经过几个小时的忙碌之后,我根本找不到解决办法。 我正在使用“node.js”为我正在开发的基于canvas的在线游戏的WebSocket服务器上工作。 我的游戏可以很好地连接到服务器,它接受握手,甚至可以发送消息到服务器。 但是,当服务器响应客户端时,客户端不会收到消息。 没有错误,没有什么,只是平静地坐在那里。 我已经撕开了我的代码,试图解决这个问题的一切,但唉,没有。 这是我的服务器代码的一个剥离的副本。 正如我之前所说,握手工作正常,服务器接收数据正常,但发送数据回到客户端没有。 var sys = require('sys'), net = require('net'); var server = net.createServer(function (stream) { stream.setEncoding('utf8'); var shaken = 0; stream.addListener('connect', function () { sys.puts("New connection from: "+stream.remoteAddress); }); stream.addListener('data', function (data) { if (!shaken) { sys.puts("Handshaking…"); //Send handshake: stream.write( "HTTP/1.1 101 Web Socket Protocol Handshake\r\n"+ "Upgrade: WebSocket\r\n"+ "Connection: […]

WebSocket服务器的最佳实践是什么?

比方说,你有一个网站,用户可以打开聊天室。 一旦房间被打开,用户可以邀请他人聊天。 让我们也假装你想使用WebSockets进行与客户端的通信。 在大多数服务器端的WebSocket实现中,有一个简单的函数,比如connection.broadcast(message) ,它向所有连接的主机发送消息,而不是发起广播的消息。 这是一个很棒的function,因为您不需要为自己保留所有客户的列表,以保持更新。 聊天室的例子的问题是,在这种情况下,您不希望将每条消息广播给每个人,而只是向处于同一个房间的其他客户端广播。 这让我有两个select: 滚动我自己的broadcastToRoom(room_id)function,这反过来意味着跟踪所有客户和房间。 每当创build一个新房间时,产生一个服务器的新实例(在一个新的端口上)。 你会怎么做?

套接字IO V0.7:如何发送消息到一个特定的客户端

在0.6版本中,我使用这种方法将消息发送到特定的客户端组。 它将排除具有“excludedClients”数组中的会话ID的客户端,并发送给所有未被排除的客户端。 var excludedClients = [sessionID1, sessionID2, sessionID3]; io.broadcast(msg, excludedClients); 这个方法是否适用于V0.7? 这是做这个最好的方法吗? 希望有人能给我一个这样的手,似乎没有任何地方的任何可靠的文档的Socket IO,只是在github页面上简单地解释了一些例子。

node.js socket.io客户端和服务器

我想从http://socket.io运行socket.io最简单的演示 服务器(app.js)似乎工作正常。 但是我对客户有麻烦: <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); }); </script> 我应该在哪里指出第一个脚本src? 当然,我没有path /socket.io/socket.io.js 在我的networking服务器的公共文件夹 我的安装如下: 安装节点: wget http://nodejs.org/dist/node-v0.4.12.tar.gz -P /tmp mkdir ~/opt cd ~/opt tar zxvf /tmp/node-v0.4.12.tar.gz cd node-v0.4.12 PREFIX=~/opt ./configure make make install echo 'export PATH=~/opt/bin:${PATH}' >> ~/.profile source ~/.profile […]

哪个是node.js中使用的websocket版本?

我正在尝试使用unitt ios客户端连接到node.js websocket。 但是这个失败可能是因为我正在使用不同的客户端。 哪个是node.js中使用的websocket版本?

在networking套接字上可以使用不同的语言吗?

我有这个问题,当我想在我的应用程序尝试networking套接字技术。 但我想问一下web socket的需求。 1)是posible我使用JavaScript语言的服务器是ex是socket.io var io = require('socket.io').listen(3001); io.sockets.on('connection', function (socket) { socket.emit('news', {hello: 'can you hear me'}); }); 和客户端使用Java语言的例子是socket.io.java我使用这种方法从服务器获取消息 public void onMessage(JSONObject json, IOAcknowledge ack) { Log.d("We received a message: " , json.toString()); } 与我的套接字服务器是 SocketIO socket = new SocketIO("http://127.0.0.1:3001/news"); 2)是否支持所有机器? 或浏览器?我是networking套接字编程新手,请帮助我 感谢您的回答…

SocketIO + MySQLauthentication

我试图通过socketIO在MySQL数据库上进行身份validation。 我build立了连接,可以查询结果没有问题,但由于某种原因,我不能通过是否用户被authentication到connection部分的socketio。 这个想法是我的应用程序有主机和观众。 如果连接到应用程序而不在QueryString发送密码,则该应用程序假定其为查看器并接受连接。 如果发送密码,则会对数据库进行检查并接受/拒绝连接。 我想要一个variables传入connection所以我可以在我的应用程序事件中使用它。 这是我迄今为止,但显然data.query['ishost']没有传入应用程序。 sio.configure(function() { sio.set('authorization', function (data, accept) { UserID = data.query['username']; try { UserID = UserID.toLowerCase(); } catch(err) { return accept("No WebBot Specified. ("+err+")", false); } // if not sending a password, skip authorization and connect as a viewer if (data.query['password'] === 'undefined') { return accept(null, true); } // […]

Weinre在heroku上

我正在尝试在Heroku上设置Weinre ,但是我遇到了一些问题。 我设法构build应用程序,只需使用一个package.json与weinre npm依赖和一个Procfile,看起来像下面 web: node_modules/weinre/weinre –httpPort $PORT 起初一切似乎工作,客户端显示的用户界面,JS文件加载正常,但debugging不起作用,并没有客户端在服务器端出现。 在查看日志的同时,我意识到每次包含/ ws / target / *或/ ws / client / *的请求都会收到404错误 2012-05-31T22:37:53+00:00 heroku[router]: GET xxxx.herokuapp.com/target/target-script.js dyno=web.1 queue=0 wait=0ms service=10ms status=200 bytes=190900 2012-05-31T22:37:36+00:00 heroku[router]: GET xxxx.herokuapp.com/ws/target/t-3 dyno=web.1 queue=0 wait=0ms service=3ms status=404 bytes=9 2012-05-31T22:36:39+00:00 heroku[router]: POST xxxx.herokuapp.com/ws/client/c-1 dyno=web.1 queue=0 wait=0ms service=40ms status=404 bytes=9 这个设置工作本地没有问题。 我也尝试了与–boundHost 0.0.0.0并得到了同样的错误。 当我使用我的heroku应用程序域/子域作为主机我得到weinre: error […]

无法启动并运行socket.io

我在Windows上运行并使用WAMP作为本地主机服务器。 我已经search了很多教程,尝试了很多东西等,但仍然没有工作.. 当前设置 所以现在写在我的www /目录中,我创build了一个名为socketiodemo的文件夹。 其中,我做了npm install socket.io以及安装其他几个节点包: socket.io performance 笔尖 唱针 我安装了所有上面的包,即使我并不需要它们。 我只是安装了他们,因为很多教程需要他们,但我宁愿不使用它们,只是用javascript来纯粹的socket.io。 所以,下面是www下的我的目录的快照: app.js 的index.html node_modules socket.io performance 笔尖 唱针 我发现最精简的教程之一给了我这个app.js代码,这是服务器端: // Require HTTP module (to start server) and Socket.IO var http = require('http'), io = require('socket.io'); // Start the server at port 8080 var server = http.createServer(function(req, res){ // Send HTML headers […]