Tag: socket.io

在socket.io中控制来自客户端的心跳超时

我有移动客户端连接到一个node.js服务器,通过xhr-polling运行socket.io。 我有两种types的客户: A型 当由于networking问题(或客户端崩溃)而导致连接中断时,默认的心跳超时时间过长 B型 当这个客户端的连接中断时,我需要给它更多的时间来恢复 – 客户端恢复比服务器断开连接/会话更重要 所以我的问题是如何从实际的客户端configuration(如果可能的话)心跳超时?

节点的Socket.io链接将如何在服务器不是本地主机(wamp / xampp)

我是新来的套接字会议,但我知道它将如何在wamp / xampp本地主机。 但是当我移动到托pipe的服务器。 不起作用。 <script src="http://localhost:3000/socket.io/socket.io.js"></script> 在wamp / xampp上面这个工作。 但在托pipe服务器中找不到。 我应该给src什么。 我的主机是:aaa.bbb.com,其端口是8803或bbb.com,端口是8803。 我试过的方法是包括像 <script src="/socket.io/socket.io.js"></script> <script src="http://aaa.bbb.com:3000/socket.io/socket.io.js"></script> <script src="http://bbb.com:3000/socket.io/socket.io.js"></script> 我的服务器端代码是 var express = require('express'); var app = express(); var socket = require('socket.io'); var server = require('http').createServer(app); server.listen(3000); var io = socket.listen(server); var async = require('async'); var mysql= require('mysql'); var pool = mysql.createPool({ host : […]

集成节点js和套接字IO与codeigniter

如何将node.js和套接字IO集成到代码点火器中。 <script> // create a new websocket var socket = io.connect('http://localhost:8000'); // on message received we print all the data inside the #container div socket.on('notification', function (data) { var usersList = "<dl>"; $.each(data.users,function(index,user){ usersList += "<dt>" + user.user_name + "</dt>\n" + "<dd>" + user.user_description + "\n" + "<figure> <img class='img-polaroid' width='50px' src='" + user.user_img + […]

Python中的代码,在Node.js和Socket.IO中进行通信,呈现在HTML中

你有一个python脚本diagnosis.py生成基于事件的实时数据。 使用Node.js,你可以启动它作为一个subprocess,并捕获它的输出,然后使用Socket.IO发送到客户端,并使用HTML呈现它。 服务器 var util = require('util'), spawn = require('child_process').spawn, ls = spawn('python', ['diagnosis.py']); var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/index.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } io.sockets.on('connection', function (socket) […]

我可以使用socket.io-client连接到一个标准的websocket吗?

尝试使用socket.io-client连接到Go中编写的websocket服务器。 我已经使用节点WebSocket库( npm )成功连接了。 所以工作的Websocket代码如下所示: goSocketPort = 6060 url = "ws://localhost:#{goSocketPort}/streamresults/" ws = new WebSocket(url) ws.on('open', -> log "socket opened" ) ws.on('message', (message) -> console.log('received: %s', message) #log "Socket message: #{JSON.stringify message}" ) 很容易,它的工作原理 – 另一端的套接字以设定的频率发送消息。 但我最初尝试与socket.io-client ( npm ),只是不能得到它去。 它确实列出了websocket作为它的第一优先传输,但该死的,如果我能得到它连接: socket = ioClient.connect("#{url}", {port: goSocketPort, transports: ['xhr-polling', 'websocket']}) socket.on("connect", (r) -> log "connected to […]

在socket.io下可靠的消息传递?

API提供发送/发送callback机制来确认收到的消息。 但是,如果发生断开或错误,则此callback不会被触发。 在我看来,在断开连接之后,需要经过一些相当混乱的过程来清理未完成的已发送消息(例如 – 假设您稍后可能需要存储消息以供转发的用例等)。 任何简单的想法在这里如何做到这一点? 想知道我是否错过了一些东西….谢谢。

Socket.IO只能在本地工作

我有这个Node.JS 服务器 : var app = require('express')(); var server = app.listen(80); var io = require('socket.io').listen(server); var posx = 10; var posy = 10; app.get('/', function (req, res) { res.sendfile( __dirname + '/index.html' ); }); io.sockets.on('connection', function (socket) { socket.emit('start', { x: posx, y: posy }); socket.on('newpos', function (data) { posx = data["x"]; posy = data["y"]; […]

无法加载资源:net :: ERR_INSECURE_RESPONSE socket.io

我正在通过SSL连接到我的服务器上的一个端口…最近,我已经开始得到无法加载资源:net :: ERR_INSECURE_RESPONSE错误在铬连接到node.js + socket.io服务器。这里是我的服务器设置up代码: var fs = require('fs'); var express = require('express'); var routes = require('./routes'); var https = require('https'); var path = require('path'); var socketio = require('socket.io'); var util = require('util'); var url = require('url'); var privateKey = fs.readFileSync('ssl/keys/xxxxxxxxxxxxxxxxxxxxxxxx.key', 'utf8'); var certificate = fs.readFileSync('ssl/certs/xxxxxxxxxxxxxx.crt', 'utf8'); var credentials = {key: privateKey, cert: certificate}; var […]

socket.io只发送数据包给发送者

我还没有弄清楚如何直接使用socket.io来响应发件人 我已经了解到,io.sockets.emit发送给所有的客户,但我不会把信息发回给发件人。 码: socket.on('login', function (data) { db.users.find({username: cc.lowerCase(data.username)}, function(err, users) { if (users.length > 0) { users.forEach( function(user) { console.log(user.length); if (user.password == data.password) { io.sockets.emit('login', { username: user.username }); } else { io.sockets.emit('error', { message: "Wrong username or password!" }); } }); } else { io.sockets.emit('error', { message: "Wrong username or password!" }); […]

Socket.IO无法通过https连接

我有一个node.js应用程序,它使用socket.IO。 它在http上工作正常,但是当试图通过https连接到套接字 – 没有任何反应。 这是代码的一部分: var fs = require('fs'); var ioHttp = require('socket.io').listen(8899, { 'flash policy port': -1 }); initSocket(ioHttp); var ioHttps = require('socket.io').listen(8895, { key: fs.readFileSync('/path/to/file/file.key'), cert: fs.readFileSync('/path/to/file/file.crt'), ca: [ fs.readFileSync('/path/to/file/sub.class1.server.ca.pem'), fs.readFileSync('/path/to/file/ca.pem') ], 'flash policy port': -1 }); initSocket(ioHttps); 和initSocket函数: function initSocket(io) { io.enable('browser client minification'); io.enable('browser client etag'); io.enable('browser client gzip'); io.set('transports', [ […]