配置/设置node / websocket / socket.io

时间:2018-10-27 13:22:53

标签: node.js apache sockets websocket

我在这里学习一些新的东西,例如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!我不想要那个。

在这件事上我真的迷失了,请帮助我 预先感谢。

0 个答案:

没有答案