这个问题涉及socket.io版本<0.9.x. 较新版本具有不同的传输方式和设置传输的方法.
我在两周内测试节点js和socket.io.当我开始时,我从socket.send(message)客户端的功能中得到问题.我无法向服务器发送任何消息.但我仍然可以从服务器接收消息.当我找到服务器端的配置传输时,我解决了这个问题:
socket.set('transports',[
'xhr-polling'
, 'jsonp-polling'
]);
Run Code Online (Sandbox Code Playgroud)
一切都很好.现在我也可以向服务器发送消息.但我仍然有一个问题,为什么我必须配置传输.默认socket.io使用websocket传输设置,如下所示:
socket.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
Run Code Online (Sandbox Code Playgroud)
所以它首先使用websocket,而不是xhr-polling.但是,socket.send(msg)即使使用,服务器也无法接收客户端发送的任何消息socket.emit(...).
所以问题是:什么不支持websocket这里?浏览器或node.js ...我很抱歉,但我从谷歌搜索了这么多页面,我还没有找到答案.
我使用node.js版本0.8.16,socket.io版本0.9.13和最新的浏览器:chrome,firefox,opera
我想使用websocket而不是xhr-polling.
我是C的初学者....我有一些代码:
#include <stdio.h>
#include <string.h>
int main(){
char str1[100];
char str2[100];
char str3[100];
char str4[100];
puts(str1)
puts(str2);
puts(str3);
puts(str4);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到了结果
2
èý(
‘Q]wØ„ÃîþÿÿÿÀ"bwd&bw
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我的数组从开始就没有空.我必须将第一个元素设置为"\ 0"以清除数组的内容.任何人都可以为我解释.非常感谢.