我正在使用Windows上的最新版本的nodejs + socket.io开发一个简单的应用程序。在客户端上创建套接字时遇到了一个问题,但是socket.emit在控制台中导致以下输出(使用Google Chrome):

GET http://0.0.34.184:8888/socket.io/1/?t=1321385855665&jsonp=0


这很奇怪,因为我正在localhost:8888上进行测试,因此它至少应为127.0.0.1,而不是0.0.34.184。从服务器在标签中请求页面上的socket.io客户端,如下所示:

<script type="text/javascript" src="socket.io/socket.io.js"></script>


然后,我使用以下代码进行连接:

socket = io.connect('localhost:8888');
socket.on("my_event", receiveNetEvent);

console.log('LOG: sio init complete, socket=' + socket);


日志指出socket = [Object object]不能为null或未定义,因此一切正常。

发送项目通过以下功能执行:

function sendRequest(request){
    socket.emit('request', request);
}


传递给函数的请求对象的形成和传递如下:

var initRequest = {};
initRequest.subject = 'weather';
initRequest.key = 'initial';

sendRequest(initRequest);


同样,它是根据console.log()的有效json对象。

所有这些使我完全不知道发生这种情况的任何可能原因。

最佳答案

尝试将http://添加到连接路径。那为我解决了这个错误。

socket = io.connect('http://localhost:8888');

关于node.js - socket.io客户端'emit'在chrome控制台中显示一个奇怪的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8142356/

10-15 23:49