Tag: websocket

PHP websocket连接到node.js服务器

我有简单的node.js websocket服务器: var fs = require('fs') var ws = require('../../') var options = { secure: false, } var Server = ws.createServer(options, function(conn){ conn.on("text", function (str) { broadcast(str); //conn.sendText(str.toUpperCase() + "!!!") console.log('connected'); console.log(str); //console.log(Server.connections); }) }).listen(8001, "127.0.0.1"); function broadcast(str){ Server.connections.forEach(function (connection) { connection.sendText(str) }) } 这适用于JS客户端,但它不适用于PHP客户端,如: function MaskMessage($text) { $b1 = 0x80 | (0x1 & 0x0f); […]

将实时组件集成到REST后端

我正在实施一项可通过networking和移动客户端访问的产品,并正在进行深入的研究,以确保在我开始之前select了一套好的工具。 对于前端,我使用的是AngularJS(Angularjs + angular-ui在web上,离子+ cordova在手机上),而且因为我希望有一个后台服务于所有types的客户端,所以我计划实现一个RESTful服务接受并返回JSON数据)。 我倾向于使用Mongo,Node和Express来创build这个RESTful API,但是我很乐意接受这方面的build议。 但是现在对我来说的关键是:应用程序的某些部分(包括例如实时聊天/消息部分)需要是实时的。 我知道用于实现实时Web服务(webhooks,websocket,长轮询等)的各种技术和协议,以及实现它们的库和框架,并展示了这些function(SockJS,Socket.io等)和我想明确的是,我不是问那些“什么是最好的框架”types的问题。 我的问题是关于并行实现这两种服务的正确方法。 我是否应该与其他应用程序分开进行聊天? 还是有一个干净的方法来将这两种不同的协议集成到同一个应用程序中?

什么Express websocket事件存在?

我想知道什么Web套接字事件存在? 到目前为止,我只使用了ws.on('message')事件,但是我想使用一个当连接build立和closures时触​​发的事件。 我尝试添加ws.on('connection') ,但没有被触发。 为什么在websocket模块文档中没有列出所有的事件? https://www.npmjs.com/package/express-ws 我的代码: app.ws('/', function (ws, req) { ws.on('message', function (textChunk) { //do stuff } }); }); 我需要一些客户端编程来做到这一点吗? 编辑:我试着添加这个,但它没有触发当我从我的客户端连接。 ws.on('request', function () { console.log("request"); });

node.js WebSocket服务器

目前我尝试为我们的数据库周围的新活动创build一个推送服务器实例。 当然,你会发现很多关于这个话题的信息。 我正在使用: http : //static.brandedcode.com/nws-docs/#s6-p1 通过以下客户端实现: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="http://cdn.socket.io/stable/socket.io.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> <title></title> </head> <body> <script type="text/javascript"> (function() { var webSocket = new io.Socket('ws//test', { port: 8080 }); webSocket.connect(); webSocket.on('connect',function() { console.log('Client has connected to the server!'); }); webSocket.on('message',function(data) { console.log('Received a message from the server!',data); }); […]

Android与websocket通信(Node Websocket服务器和Android Java客户端)。 不要在Android 4上工作

我试图用作Android客户端Websocket – weberknecht用一个线程发送每一秒消息给一个Nodejs Websocket(js): Node WebSocket Server 它在Android 2或2.3.3上正常工作,但是当我在Android 4上我在websocket.connect()上得到一个错误; 你知道我为什么或者我做错了什么吗? 我的代码是: public class MainThread extends Thread { private boolean is_running; private URI url = null; private de.roderick.weberknecht.WebSocket websocket = null; public MainThread() { this.is_running = false; try { url = new URI("ws://192.168.1.88:8088/"); websocket = new WebSocketConnection(url); websocket.setEventHandler(new WebSocketEventHandler() { public void onOpen(){ System.out.println("–open"); } […]

Socket.io和Express3 – 404在客户端请求到/socket.io/socket.io.js

我试图从我的节点服务器parsing'/socket.io/socket.io.js'时收到404。 我无法确定为什么。 我的服务器configuration如下所示: var express = require('express') , engine = require('ejs-locals') , app = express() , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server); // use ejs-locals for all ejs templates: app.engine('ejs', engine); app.set('views',__dirname + '/views'); app.set('view engine', 'ejs'); // so you can render('index') app.use(express.static(__dirname + '/public')); //define routes … app.listen(3000); //socket […]

node.js webserver和C ++游戏服务器

这个问题可能过于宽泛,但我认为这是一个体面的问题,我不知道如何处理它。 我目前在example.com上托pipe一个网站。 我现在正在使用100%的node.js。 我还在使用socket.io托pipe一个networking化的HTML5游戏(在game.example.com上),这很棒,但是我决定使用C ++(或者可能是Java)来处理游戏服务器,计划从JavaScript翻译服务器逻辑。 我目前最大的问题是,我根本不知道如何连接WebSocket。 我仍然计划使用node.js来提供完整的客户端(HTML和JavaScript),但我希望客户端连接到C ++服务器而不是node.js服务器。 我目前连接到服务器的方式是使用从socket.io的io.connect();获得的套接字io.connect(); 。 我认为这可以保持,我只需要将服务器端的套接字从node.js传递给我的C ++程序,我完全不知道如何做到这一点。 谁能帮我?

在Symfony2应用程序中包含Node.JS + Socket.IO

我做了很多研究,看来我找不到合适的解决办法。 我对PHP很有信心。 我也做了一些关于Node.JS和Socket.IO教程,目前我正在学习Symfony2但是我看不出如何合并这两个来实现我的目标。 我的目标是为我的应用程序的后端用户设置实时通知。 这个应用程序是一个电子商务网站,我希望在pipe理面板右上angular的一个可视通知命令后立即警告幕后pipe理员。 我的服务器使用FreeBSD 。 我的计划是使用Node.JS和Socket.IO来实现这一点。 如果有更好的计划,我愿意听到。 否则,我找不到合适的资源来告诉我如何将Node.JS和Socket.IO到Symfony2应用程序中。 我使用composer php安装包,但我没有使用Symfony2 NPM。 我已经find了这个问题 , 这个链接和其他问题来帮助我,但没有一个告诉我如何在Symfony2应用程序中安装Node.JS 如果有人可以帮我完成这些步骤来开始开发这个function,我会很高兴。 谢谢!

Socket.io断开相closures包的事件和垃圾回收

我有一个基本的实时服务器,使用socket.io。 我的问题涉及到闭包和垃圾收集,以及是否应该打扰在关联数组中存储套接字连接,或者只是将其closures以pipe理连接。 我有一个问题是,如果一个套接字连接断开,是否将相同的套接字连接尝试发送一个消息,如果在断开的套接字调用发射? 换句话说,当你在一个断开的套接字上调用socket.emit()会发生什么? 下面是一些代码,底部的问题: var socketio = require('socket.io); var io = socketio.listen(server); var EE = require('events').EventEmitter; var ee = new EE(); //this is actually initialized elsewhere but now you know what it is var connectedUsers = {}; //associative array to store socket connections by socket.id io.on('connection', function (socket) { connectedUsers[socket.id] = socket; //should I […]

如何正确退订一个socket.io房间并销毁它?

我有一个内部循环为每个套接字: if (!chat.room.list[hash]) { // room has expired socket.leave(hash); delete chat.user.list[socket.store.data.id].rooms[hash]; delete socket.store.data.inRooms[hash]; // delete room hash from user store } socket.leave(hash)什么都不做 – 套接字仍然接收发送到hash空间的消息。 作为一个方面说明 – 如果我连接客户端安娜和客户端鲍勃 – 都接收消息,但如果我重新连接客户端鲍勃 – 鲍勃不能发送消息给安娜。 有没有一个完整的socket io API文档(因为我找不到socket.leave(room)的例子)? 编辑:明白了! Socket IO使用斜杠节省了房间句柄,所以你必须使用socket.leave('/'+hash)