Tag: websocket

通过PHP连接到socket.io(nodejs)

我有一个需要通过PHP连接到websocket,发送数据,并立即断开连接。 不需要等待来自套接字的响应。 我用elefant.io但更新后库不起作用。 请告诉我如何通过PHP连接到websocket?

使用标准networking套接字客户端连接到Socket.io服务器

是否有可能连接到标准的networking套接字客户端的socket.io服务器? 当通过socket.io客户端连接到socket.io服务器时,Url以HTTP启动,但是web-socket客户端必须使用ws 。 所以,如果可能的话,如何连接到socket.io服务器和连接到socket.io服务器的url是什么?

为什么node.js在尝试在本地主机上运行应用程序时需要升级?

当我尝试在本地主机服务器上运行我的node.js应用程序时,它不运行并要求进行必要的升级。 我试图运行代码,但我得到以下错误: 服务器代码 var WebSocketServer = require('ws').Server, ws = new WebSocketServer({port: 80}), CLIENTS=[]; **new connection etablished** ws.on('connection', function(conn) { CLIENTS.push(conn); conn.on('message', function(message) { console.log('received: %s', message); sendAll(message); }); console.log("new connection"); conn.send("NOUVEAU CLIENT CONNECTE"); **if you close connection** conn.on('close', function() { console.log("connection closed"); CLIENTS.splice(CLIENTS.indexOf(conn), 1); }); }); **send messeages vers all clients** function sendAll (message) { […]

将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比较相似?

某些networking中的Socket.io错误

我在使用某些networking中的socket.io时遇到问题。 我用来testing的演示页面和节点服务器最初是在这里和这里find的。 这是一个由socket.io提供的简单的聊天客户端。 当用户从办公室或大学等特定封闭networking访问我的服务器上的演示页面时,用户会反复连接和断开连接,直至最终断开连接。 在这期间Node.js的输出是: 3 May 07:50:41 – Initializing client with transport "jsonp-polling" 3 May 07:50:41 – Client 16640139906667173 connected 3 May 07:50:41 – Initializing client with transport "jsonp-polling" 3 May 07:50:41 – Client 6106549079995602 connected 3 May 07:50:41 – Initializing client with transport "jsonp-polling" 3 May 07:50:41 – Client 8987158865202218 connected 3 May […]

Socket.io 0.7.9连接问题

我正在尝试升级到socket.io 0.7.9,并遇到问题。 我已经使用了socket.io主页的基本示例。 我的服务器是: var http = require('http'), url = require('url'), https = require('https'), fs = require('fs'), crypto = require('crypto'), io = require('../'), sys = require(process.binding('natives').util ? 'util' : 'sys'), server = http.createServer(function(req, res){ res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(); }); server.listen(80,"[MYIP]"); var io = io.listen(server), buffer=[]; io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my […]

与本地客户端的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> […]

websocket服务器,存储数据

可以说,我做了一个websocket服务器聊天(node.js + socket.io)。 我将如何存储聊天消息,以便当“新”用户join聊天时,他将看到旧的聊天消息,而不仅仅是在聊天中他已经发送的聊天消息。 数据应该存储在服务器的variables中吗? 就像是: var io = require('socket.io').listen(80); var saveData = { }; io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 对于一个更复杂的应用程序,比如游戏,它会是一个可行的灵魂吗? 谢谢

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:WebSocket +服务器端轮询与客户端轮询

我正在开发显示来自Redis的实时数据(图表等)的应用程序。 更新的数据非常快(毫秒)。 因此,尽可能频繁地显示更新是有意义的(只要人眼可以注意到)。 技术堆栈: Node.js作为一个Web服务器 Redis拥有这些数据 JavaScript / HTML(AngularJS)作为客户端 现在我有客户端轮询(GET请求到Node.js服务器每秒查询Redis的更新)。 是否有做服务器端轮询的好处,并通过WebSocket暴露更新? 每个WebSocket连接将需要单独的Node.js轮询(setInterval),尽pipe由于客户端查询可能不同。 但预计不会有超过100个WebSocket连接。 这两种方法之间有什么优点/缺点?