我正在使用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/