Articles of 套接字

laravel用redis和socket io回显

我有一个事件SomeEvent.php 像这样: <?php namespace App\Events; use Illuminate\Broadcasting\Channel; use Illuminate\Queue\SerializesModels; use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Broadcasting\PresenceChannel; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; class SomeEvent implements ShouldBroadcast { use InteractsWithSockets, SerializesModels; public $data; /** * Create a new event instance. * * @return void */ public function __construct($array) { $this->data = $array; } /** * Get the channels the event should […]

连接Unity3d与Node.js

我正在尝试使用socket.io来连接我的unity3d程序与node.js服务器。 使用UnitySocketIO,我成功连接了客户端和服务器端。 但是,On或Emit方法不起作用。 有人可以帮我解决这个问题吗? void Start () { string socketUrl = "http://127.0.0.1:50122"; Debug.Log("socket url: " + socketUrl); this.socket = new Client(socketUrl); this.socket.Opened += this.SocketOpened; this.socket.Message += this.SocketMessage; this.socket.SocketConnectionClosed += this.SocketConnectionClosed; this.socket.Error += this.SocketError; this.socket.Connect(); } private void SocketOpened (object sender, EventArgs e) { Debug.Log("socket opened"); // i got this message this.socket.On ("message", (data) => { […]

如何将video(从getUserMedia)发送到Node.js服务器?

我正在build立一个聊天/直播应用程序(video+文字聊天)。 目前我还没有解决办法,但是我正在向前迈进,而且我陷入困境。 我正在尝试使用getUserMedia获取videostream,并通过Socket.io将其发送到我的Node.js服务器。 到目前为止,我已经得到了bloburl: "mediastream:http://192.168.1.20:3000/1c267861-a2da-41df-9a83-ae69fdfd883b"但我不知道如何从它抓取数据通过套接字发送.IO。 任何帮助将摇滚。 服务器: // server.js var http = require('http'); var socketio = require('socket.io') var fs = require('fs'); var server = http.createServer(function (req, res) { if (req.url ==='/') { fs.readFile('index.html', function (err, html) { res.writeHeader(200, {"Content-Type": "text/html"}); res.write(html); return res.end(); }); } else { res.end('hi!'); } }); var io = socketio(server); server.listen(8000, […]

带有express的socket.io中的SSL:缺lessPFX或证书+私钥。

我想通过SSL与socket.io套接字。 我读过其他答案,但没有任何工作 这是我的代码: var ssl_options = { key : fs.readFileSync(my_key_path), cert : fs.readFileSync(my_cert_path) }; var protocol = "https"; preparedApp = require(protocol).createServer(ssl_options,app); var io = require('socket.io')(preparedApp); preparedApp.listen(8080, function(){}); io.on('connection', function(socket){}); 这里是我的ssl_options的日志… { key: <Buffer 41 …>, cert: <Buffer 4a …> } 这个错误与标题throw new Error('Missing PFX or certificate + private key.'); 。 有谁知道可能会发生什么? 这个答案的其他解决scheme没有解决我的情况。

发送从客户端到服务器节点上断开事件的数据

我不能发送断开连接事件从客户端的数据到服务器 //客户端 var gname = "asd"; socket.emit('disconnect',gname); //服务器端 socket.on('disconnect', function (data) { console.log(data); var i = connect_clients.indexOf(data); if(i != -1) { connect_clients.splice(i, 1); } }

在Nodejs中读取原始http消息

我使用http.request函数发送一个http请求,我想读取整个http响应,如文本; 也就是原始的http协议文本。 可能吗? 我写了下面的代码,但它不工作。 // Set up the request console.log('Sending request'); var post_req = http.request(post_options, function(res) { res.setEncoding('utf8'); console.log('Response statusCode: ' + res.statusCode); // res.on('data', function (chunk) { // console.log('Response: ' + chunk); // }); // res.on('end', function() {}); }); post_req.on('socket', function (socket) { var response = ""; socket.on('data', function(chunk){ console.log(chunk); }); }); // post […]

通过socket.io 1.0现场audio

从socket.io网站 二进制stream媒体 从1.0开始,可以发送任何blob:图像,audio,video。 我现在想知道,如果这不能解决我最近想做的事情。 实际上,我正在寻找一种方法,将(A – 即麦克风input…)的现场audiostream广播到连接到我的网站的所有客户端。 是这样的可能吗? 我一直在搞乱WebRTC( https://www.webrtc-experiment.com/ )的例子,但是我还没有能够为less数连接的客户端pipe理目标。 我的想法是关于像getUserMedia或任何其他audio源(PCM,无论.. ..)被切碎,并提供给客户端和播放例如HTML5audio元素或任何东西..我需要做的stream尽可能实时,没有大声/冰投服务不够快(事实上,他们不是我的问题的解决scheme,他们的意思是用这种方式),我并不关心audio质量。 跨平台兼容性将会很棒。 是这样的可能吗? 通过使用socket.io作为如何将这些数据提供给客户端? 我将非常感谢任何参考,提示或来源,可以帮助我实现这一点。 非常感谢。

只能从node.js中的套接字读取前N个字节

var server = net.createServer(function(c) { //… c.on('data', function(data) { //The data is all data, but what if I need only first N and do not need other data, yet. c.write(data); }); //… }; 有没有办法只读取定义的部分数据? 例如: c.on('data', N, function(data) { //Read first N bytes }); 其中N是我期望的字节数。 所以callback只有M个字节中的N个。 解决办法是(感谢mscdex): c.on('readable', function() { var chunk, N = 4; […]

在node.js中共享一个端口的多个套接字(通过socket.io)

我不知道如何在服务器端同时使用多个套接字的单一端口。 我们如何在node.js中做到这一点 我目前使用的是socket.io,每个端口有一个套接字。 如果解决scheme不存在,但也有可能,那么也请给你的build议,以实现相同的。 如果我们共享一个端口,那么还有什么问题呢? 考虑到客户端可能处于空闲状态,但会占用服务器上的端口,因此我们需要为每个客户端维护套接字连接,其他相关选项可能是什么?

如何在NodeJS中编码双向双工stream

在最新的几个版本的NodeJS(v0.10.X截止撰写)中,Streams API经历了一个可喜的重新devise,现在我想开始使用它。 我想用一个实现一个协议的对象包装一个套接字的input和输出。 所谓的Duplex接口,似乎只是任何可读写的stream(如套接字)。 目前尚不清楚Duplexes是否应该像A或B一样,还是不重要。 +—+ +—+ –>| A |–> | |–> +—+ | B | | |<– +—+ 对于有两个可写和两个可读的对象,什么是正确的代码结构/接口? +——–+ +———-+ +—- | r|–>|wr|–>|w | socket | | protocol | | rest of app | w|<–|rw|<–|r +——–+ +———-+ +—- 上图的问题是protocol对象需要两个独立的read方法和两个write方法。 在我的头顶,我可以使协议产生“左”和“右”双工对象,或者“进出”双工对象(以不同的方式)。 这些都是首选的方法,还是有更好的解决scheme?