--我找到了如何解决这个问题的方法,我刚刚将其降级为1.4.0,现在它运行良好。
当UTF8字符通过Socket.IO发送时,它会立即断开连接,例如:á,è,é,c
我试图通过替换所有字符串来避免这种情况,但我的处境是这不再有效
运行Ubuntu 16.04 Socket.io@2.0.4 Socket.io-client@2.0.4
发送特殊字符后出错: WebSocket在建立连接之前已关闭。
这个错误发生在我在聊天时发送了“爱马仕”
客户端
sendMessage: function(message) {
if (message === '') return;
if (this._lastMessage > (Date.now() - this._chatCooldown * 1000)) {
notify('error', vsprintf(locale.chatCooldown, [((this._lastMessage - (Date.now() - (this._chatCooldown * 1000))) / 1000).toFixed(1)]));
return;
}
this._input.val('');
this._lastMessage = Date.now();
socket.emit('chat message', {'type': 'chat', 'message': message});
}服务器端
chat.message = chat.message.replace(/<\/?[^>]+(>|$)/g, "");
var uniqueID = generate(20);
io.sockets.emit('chat message', {
message: chat.message,
profile: {
avatar: user.avatar,
rank: user.rank,
username: user.username
},
time: time(),
uniqueID: uniqueID
});发布于 2018-01-17 22:21:14
您可以执行以下操作来验证(证明) socket.io在Linux上对非英语字符是否正常工作
按照从这里开始的入门部分:https://socket.io/get-started/chat/
总结一下,从您的终端运行以下内容
打开web浏览器并导航到localhost:3000
尝试使用底部的聊天栏与非英语宪章-它会工作得很好。
关于你的问题。如果某些东西不适合您,这可能是由于您的代码和api的误用。按照这里的文档:https://github.com/socketio/socket.io/blob/master/docs/README.md
https://stackoverflow.com/questions/48310516
复制相似问题