在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ socket.io-client 后臺(tái)消息包含中文連接斷開,請(qǐng)問有人遇到過嗎

socket.io-client 后臺(tái)消息包含中文連接斷開,請(qǐng)問有人遇到過嗎

在實(shí)際項(xiàng)目中是第一次收到包含中文消息時(shí)連接中斷,重連后正常,為了提問我把相關(guān)代碼提取出來發(fā)現(xiàn)前端一收到含中文消息就不斷報(bào)錯(cuò)重連了
server

import http from 'http';
import socket from 'socket.io';

const server = http.createServer();
const io = socket(server);

io.on('connection', (client) => {
  console.log('SOCKET->connection:' + client.id);
  client.on('message', async function (message) {
    console.log(message);
    client.send({message: 'success'})
  });

  client.on('disconnect', async function () {
    console.log('SOCKET->disconnect:' + client.id);
  });
});

server.listen(3001);

console.log('server running http://localhost:3001');

client

import io from 'socket.io-client';

const socket = io('ws://localhost:3001');

socket.on('connect', () => {
  console.log('connect');
  socket.send({message: 'hello'})
});

socket.on('disconnect', () => {
  console.log('disconnect')
});

socket.on('error', err => {
  console.log(err)
});

socket.on('message', res => {
  console.log(res)
});

此時(shí)是英文消息是正常的
![![瀏覽器][2]][1]

服務(wù)器

可是一旦把服務(wù)器的

client.send({message: 'success'})

替換成包含中文的

client.send({message: '你好'})

立刻就崩潰了,前端不斷的報(bào)錯(cuò)重連
瀏覽器
服務(wù)器

socket.io socket.io-client
都已升級(jí)到 2.1.1
有大神知道什么原因嗎

回答
編輯回答
下墜

從早上發(fā)現(xiàn)這個(gè)問題一直在找原因,結(jié)果剛才試了下用傳統(tǒng)的標(biāo)簽引用

<script type=text/javascript src=//cdn.bootcss.com/socket.io/2.1.1/socket.io.js></script>

居然不報(bào)錯(cuò)了,我真的相當(dāng)無語,一整天時(shí)間浪費(fèi)在這上面

2018年7月17日 20:26
編輯回答
檸檬藍(lán)

我看socket.io里有關(guān)于中文的issue,issue,沒有很好的解決辦法
建議通過編解碼進(jìn)行收發(fā),或者通過buffer

2017年1月3日 12:09