Tag: websocket

Websocket base64,二进制types

我很困惑。 我想了解Websockets是如何工作的,并在node.js和客户端build立一个服务器。 我无法理解的是,Websocket如何发送数据。 在从客户端(浏览器)发送之前是否将数据base64编码? 'binarytype'如何工作? 只为接收? 我也必须在服务器上实现这些吗? 我需要在服务器端的“二进制types”选项? 我什么时候需要blob和arraybuffer? 取决于小的和大的数据? 什么是如果得到video和audio文件? 我看了一下如何在网上发送图片,而且我常常find解决scheme,图片是base64编码,然后发送。 但是,如果浏览器中的Websocket API已经将二进制文件编码为base64,我不必这样做。 对不起,我很困惑,希望有人能帮助我

如何从不同的服务器连接到websocket?

我有服务器 “windows 7专业版”,我安装了node.js并运行它使用此命令node ws_server.js 按照这里的说明 从运行Apache 2.4 / php 5.6.13的服务器B “Windows Server 2008 R2”中,我想连接到服务器A上的ws_server 。 在**服务器B *我有一个脚本叫websocket.php与下面的代码 <script> $(function() { var WebSocketClient = require('websocket').client; var client = new WebSocketClient(); client.on('connectFailed', function(error) { console.log('Connect Error: ' + error.toString()); }); client.on('connect', function(connection) { console.log('WebSocket Client Connected'); connection.on('error', function(error) { console.log("Connection Error: " + error.toString()); }); connection.on('close', function() […]

使用Socket.IO发送数据的频率如何?

我正在创build一个Web应用程序,需要从服务器向客户端发送less量数据(每个套接字3个整数值),我想查看使用Socket.IO更新客户端的频率是否最高。 我希望实现至less50个套接字连接,每秒发送20个更新 。 理想的数字是每秒发送50次更新的200个套接字连接。 问题:使用Socket.IO发送新数据的频率是否有限制? 注意:我认识到这也成为服务器 – 客户端连接的速度问题,所以关于连接速度有多快我需要的任何信息,赞赏。 我计算,如果每个发送的数据包大约是500字节,那么我将能够在1 MB / s连接上每秒发送20个更新到100个连接。

如何实现与node.js的websocket服务器?

有没有例子? 以及node.js如何与传统的PHP脚本进行通信?

在Node中有一个好的库用于客户端和服务器之间的asynchronous通信吗?

有没有一个库可以让我在Node.js服务器上运行一个函数,它可以同时调用连接到服务器的所有客户端的相关函数,而不是创build每个websocket并定义整个结构? 同样,我可以从客户端浏览器安全地调用服务器function吗? 我觉得每次我必须构build一个通过web套接字发送的命令时,我正在处理传输层而不是应用层,而且我想一直在考虑更高层。 如果这个东西还不存在,我不会介意build立这样的东西,但是我很难相信这个东西在节点上已经不能解决了。

nodejs / express:如何POST数据的外部表单?

如何在使用nodejs和expressjs在另一个网站上的外部公用表单上创build一个string并将其发送到表单后的数据? 我无法find一个简单的示例或文档,只是继续find如何处理和parsingPOST自己的应用程序中的表单。

在Node.JS上跟踪系统

我正在Node中构build一个跟踪系统,需要一些帮助来理解使用跟踪脚本的第三方将如何连接到Node应用程序。 最初,我已经设置了一个页面来使用Socket.io连接到应用程序,但是如果客户端页面托pipe在节点服务器上,该解决scheme似乎只能工作。 因此,例如,在第三方网站上,他们将拥有: http://node.appserver.com:8080/tracker.js 该脚本将从网站收集数据,然后通过socket.io连接到应用程序,但我似乎无法得到任何回应,因为该应用程序正在监听一个index.html文件与应用程序本身的请求,而不是来自tracker.js脚本。 下面是我想通过运行应用程序的stream程: http://www.evernote.com/shard/s7/sh/56f88de2-f1c0-470b-9169-c7aca1479037/92b00f81ff86eebd4add6f6f68053a50 tracker.js将使用以下连接: $.getScript('/socket.io/socket.io.js', function(data){ var socket = io.connect('http://node.appserver.com:8080'); socket.emit('adTracker', { adServer: 'datalunk', zone : 'top_home', referingURL : 'comple.com' } ); }); 然后,应用程序看起来像这样: var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(8080); io.configure(function () { io.set('authorization', function (handshakeData, callback) { if (handshakeData.xdomain) { callback('Cross-domain connections are […]

使用websocket将Arduino连接到nodejs服务器

首先,我有: – 一个自主的arduino(电池+ wifi盾) – 一个nodejs服务器+ socket.io模块 我想将我的Arduino连接到nodejs服务器,并添加实时的可能性。 我不知道是否有可能在浏览器(如浏览器)上使用websocket(客户端),以允许服务器端在客户端调用方法如下: socket.on(myMethod,…) 我看到像jhonny-five的noduino图书馆,但总是使用串行端口(与USB)。

在更新状态之后,Reactjs不会复制我的消息

我正在关注这个博客的例子,这个问题在执行之后就引起了我的兴趣 https://github.com/DanialK/ReactJS-Realtime-Chat 总结一下,在通过websocket发送消息之前,消息的状态被更新。 当服务器接收到这个消息时,他们向所有的客户端发送广播,包括我自己。 Thereat,客户端用相同的消息更新状态 为什么这个消息不会出现2次? 我不希望这个消息出现两次,但我想知道为什么会发生 客户代码: socket.on('send:message', this.messageRecieve); … handleMessageSubmit : function(message){ Messages.push(message); this.setState({ messages : Messages }); socket.emit('send:message', message); }, messageRecieve: function(message){ Messages.push(message); this.setState({ messages : Messages }); }, 服务器代码: socket.on('send:message', function (data) { socket.broadcast.emit('send:message', { user: name, text: data.text }); });

使用Redis和Socket.io在Laravel 5.2中进行事件广播

我把Laravel 5.1更新到5.2,这个事件不再播放。 我正在使用Laravel家园,使用php 7和hhvm,Node 5.3.0,Redis 3.0.6。 Redis工作正常。 (我试过Redis ::发布)。 我解雇了这个事件,但是我没有收到任何消息。 事件类 namespace App\Events; use App\Events\Event; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; class UserSignedUp extends Event implements ShouldBroadcast { use SerializesModels; public $username; /** * Create a new event instance. * * @return void */ public function __construct($username) {print_r($username); $this->username = $username; } /** * Get the channels […]