Windowsで現在の最新バージョンのnodejs + socket.ioを使用して単純なアプリケーションを開発しています。クライアント側でソケットが作成されたときに問題が発生しましたが、socket.emit を実行すると、コンソールに次の出力が表示されます (Google Chrome を使用):
GET http://0.0.34.184:8888/socket.io/1/?t=1321385855665&jsonp=0
localhost:8888 でテストしているので、0.0.34.184 ではなく、少なくとも 127.0.0.1 である必要があるため、これは非常に奇妙です。ページ上の 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);
ログには、null または未定義ではない socket=[Object object] と記載されているため、すべてが機能するはずです。
送信自体は、次の関数で実行されます。
function sendRequest(request){
socket.emit('request', request);
}
関数に渡されるリクエスト オブジェクトは、次のように作成されて渡されます。
var initRequest = {};
initRequest.subject = 'weather';
initRequest.key = 'initial';
sendRequest(initRequest);
また、これは有効な json オブジェクトですconsole.log()
。
これらすべてにより、考えられる理由について私はまったく無知になります。