我正在使用 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 或 undefined 所以一切都应该工作。
发送本身在以下函数中执行:
function sendRequest(request){
socket.emit('request', request);
}
传递给函数的请求对象是这样形成和传递的:
var initRequest = {};
initRequest.subject = 'weather';
initRequest.key = 'initial';
sendRequest(initRequest);
它是一个有效的 json 对象,再次根据console.log()
.
这一切让我完全不知道发生这种情况的任何可能原因。