Tag: 套接字

套接字连接在收到握手响应之前closures

我已经从源代码编写套接字 我的代码看起来像这样。 var port = 8081; var app = require('http').createServer(); var io = require('socket.io')(app); app.listen(port); io.on('connection', function (socket) { console.log("New user connected."); socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); console.log("server listening on: " + port); 但是当我在这里testing它(ws:// localhost:8081)。 我收到错误:未定义DISCONNECTED 在控制台中出现错误: WebSocket connection to 'ws://localhost:8081/?encoding=text' failed: Connection closed before receiving […]

如何将用户名从php会话存储到nodejs中的socket.io库和套接字连接断开页面refresh.Why?

我正在为我的web作业portal.I用于保存用户的名称从php会话到nodejs套接字io库的聊天应用程序..我很困惑..它可以存储10k用户在套接字object.if是那么如何维护那个用户列表? 另一个问题是,当用户从一个页面导航到另一个.socket断开连接,并再次连接..它影响我的应用程序性能或nodejs服务器执行? 请指导我通过教程或博客..我还没有find相关的文档,但有关套接字连接pipe理..预先感谢!

将node.js服务器端代码移植到HTML5 WebSockets

注意:这不是关于使用node.js和HTML5套接字。 我也没有兴趣讨论我所描述的设置的优点。 node.js在服务器上运行,并且由于它支持通过套接字作为客户端进行连接,所以它可以作为HTML5 / JS客户端和使用TCP / IP的服务器(如数据库服务器)之间的中间层。因此, node.js和WebSockets都包含打开到服务器的套接字连接的方法。 我的问题是,是否有人成功地将一个node.js脚本移植到WebSockets,即将node.js从等式中删除,以便您的Web浏览器直接连接到数据库? 我想它会看起来像: 切断与HTTP的一切 移植所有node.js专用函数的使用来使用WebSockets API 如果这样做了,是不是很麻烦,或者是node.js和WebSockets API比较相似?

与本地客户端的Socket.io。 Origin null和Access-Control-Allow-Origin

我试图用本地客户端testing一个简单的socket.io示例。 这是我的代码: 服务器: var sio = require('socket.io'); var io = sio.listen(8077, {log: false}); io.sockets.on('connection', function (socket) { console.log('connection detected'); socket.on('hello', function(data){ console.log('hello received: ' + data); }); }); 客户: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script src="socket.io-client/dist/socket.io.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> var socket = io.connect('http://localhost:8077'); if(socket != undefined){ socket.emit('hello', 'this is a test'); } </script> […]

Node.js – Socket.io – Express 3

我是Node.js和Express的一个小菜鸟:(我有一个访问其他模块中的socket.io对象的问题。我创build了一个全局variables来保存一个套接字对象,但是一旦用户closures连接技术上我猜连接仍然存在,但是我由于资源的原因删除了它。 每次build立连接时都会注意到,我们将该套接字分配给所有其他模块可访问的全局variables。 // App.js var io = require('socket.io').listen(server); var sessionsConnections = {}; io.sockets.on('connection', function (socket) { global.socket = socket; sessionsConnections[socket.id] = socket; ….. } socket.on("disconnect", function() { delete sessionsConnections[socket.id]; }); // Match.js global.socket.emit('lobby:createMatch', data); 如果最后分配给全局的连接closuresMatch.js将被拧紧。 在这一点上,Match.js是唯一需要socket.io引用的模块。 Match.js有一堆用于处理事件的输出,发出更改并呈现视图。 有什么build议如何处理? 是否有可能实例化一个初始的套接字连接,以生活在App.js为全球参考的目的?

socket.on调用它的callback太多次了

在第一次点击时,我的客户输出这个: Object {hello: "world"} 然后在第二次点击: Object {hello: "world"} Object {hello: "world"} 点击输出的行数增加1。 客户 var socket = io.connect('http://localhost'); $(document).on('click' , '#test', function(){ socket.emit('news', { my: 'data' }); socket.on('news', function (data) { console.log(data); }); }); 服务器 var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') io.sockets.on('connection', function (socket) { socket.on('news', function (data) { socket.emit('news', […]

Node.js&Socket.io添加用户名

我是新的socket.io我想知道如何添加用户名在这个简单的聊天使用socket.io。 在此先感谢家伙。 我想学习套接字编程。 下面的代码是我的server.js //chat service io.sockets.on('connection', function (socket) { socket.on('sendMessage', function (data) { socket.broadcast.emit('message', data); socket.emit('message', { text: data.text }); }); }); 这是我的聊天客户端index.html <!– index.html –> <html> <body> <script src="/socket.io/socket.io.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script> $(document).ready(function () { var socket = io.connect('http://localhost'); socket.on('message', function (data) { $('#chat').append( '<b>' + data.text + '</b>' + '<br />'); }); […]

socket.io +使用“发射”与callback?

我有我的套接字问题,在我的socket.emit完成之前,我的服务器端代码正在执行。 这是一个片段: admin.getTh(function(th){ socket.emit('GPS', {gpsResults: data, thresholds: th, PEMSID: PEMSID, count: count}); count++; toolbox.drawPaths(function(ta){ console.log(ta); }); }); 所以我需要发生的是通过socket.emit('GPS', …)在客户端执行的代码在toolbox.drawPaths发生之前完全完成。 我试图抛出一个callback像你会socket.on(…, function(){…})但似乎并不是API的一部分。 有什么build议么?

Socket.io发出进度检查

我使用Socket.io来上传文件。 它适用于以下模式: 客户端:从input中读取文件并将其编码为Base64并压缩 客户端:发送包含压缩文件的Socket.io事件“上传”作为一个数据 服务器:收听“上传”事件,解压并解码文件并保存 大文件出现问题: 我看不到通过客户端发出的数据进度 (就像我用XHR做的那样)。 为了解决这些问题,我必须跟踪(检查)发射事件的上传进度。 我怎样才能做到这一点? 我想倾听客户端上的进度上传 多亏了bnuhero,socketio-file-upload可以在服务器端收听进度,并在每隔5%或20%的时间发送消息给客户端。 所以它意味着每个文件分别发送20或5条消息。 我想听取客户端的进展。 看起来像是没有可能检查客户端上的裸体Socket.io的进展。 Io-stream解决了这个问题。

NodeJS数据报 – 接收IPv6多播

我试图通过node.js中的IPv6接收多播数据报。 在IPv4(udp4)上完全相同的方式,我没有问题,但试图做相同的udp6给我socket.addMembership呼叫EINVAL错误。 这是我的代码: var dgram = require('dgram'); var server = dgram.createSocket('udp6'); var PORT = 12345; var MULTICAST_ADDRESS = 'ff7e:230::1234'; server.on('message', function (message, remote) { console.log('Message from: ' + remote.address + ':' + remote.port +' – ' + message); }); server.on('listening', function () { var address = server.address(); console.log('UDP listening on ' + address.address + ":" […]