我在这里学习一些新的东西,例如node,ws,socket,但我遇到了其中一个或其中一个的问题!
我学习的方式是编辑代码并与他人检查结果,并与他人进行比较,然后将其用于学习,并了解他们如何反应以检查im是否在正确的路径中。
我设法设置了socket.io简单聊天,一些基本的ws代码,节点js。
但是!问题在于im的方式以及检查使用这些东西(例如套接字)的其他网站,而我检查了与u共享的结果:
用于比较的网站结果=>
它给我结果WITH( application / octet-stream )
我解码后得到的AAkH / zB7InNpZCI6IklUMjJvbVJuVWQ2VXNkN2dOeE9YiwidXBncmFkZXMiOlsid2Vic29ja2V0Il0sInBpbmdJbnRlcnZhbCI6MjUwMDAsInBpb>
:
。0 {“ sid”:“ IT22omRnUd6Usd7gNxOX”,“ upgrades”:[“ websocket”],“ pingInterval”:25000,“ pingTimeout”:60000}
我的代码结果:
我只能得到(文本/纯文本或任何文档)
96:0 {“ sid”:“ JhBNnktzV5cUnMfEAAAH”,“升级”:[[websocket“],” pingInterval“:25000,” pingTimeout“:5000} 2:40
我的代码的问题是它们都以文本形式响应!我希望他们在八位字节/流中响应每个文本或文档等。
现在我使用的代码(我使用了许多!!!!!,它们至少都无法满足我的需求):
var fs = require('fs');
var https = require('https');
var express = require('express');
var app = express();
var options = {
key: fs.readFileSync('./file.pem'),
cert: fs.readFileSync('./file.crt')
};
var serverPort = 3000;
var server = https.createServer(options, app);
var io = require('socket.io')(server);
console.log('server up and running at %s port', serverPort);
});
我尝试过
var bodyParser = require('body-parser');
// parse various different custom JSON types as JSON
app.use(bodyParser.json({ type: 'application/*+json' }))
// parse some custom thing into a Buffer
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }))
// parse an HTML body into a string
app.use(bodyParser.text({ type: 'octet/stream' }));
我编辑了类型但没有用!也许我做错了什么?
我花了12个小时真正地解决了这个问题,但是我完成了!我需要你们的真正帮助。
我希望我的socket / ws / nodejs在八位字节/流中响应
socket.io如何使用此网址或任何*:
/socket.io/?EIO=3&transport=polling&t=MQmjhqr
&使其以八位字节/流形式响应吗?
如果我尝试这样做:
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
然后,每个命令+网址(/socket.io/?EIO=3 ....)将显示Hello world!我不想要那个。
在这件事上我真的迷失了,请帮助我 预先感谢。