2

私はsocket.ioの使い方を学び始めており、ここ数日間これを理解しようとしていますが、2つのことがわかりません。

  1. サーバーを起動してそれぞれの URL (localhost:8088) をロードした後、アラートが表示されるまでに時間がかかるのはなぜですか?

  2. socket.io のサーバー コードが表示されないのはなぜですか? たとえば、次のコードのチャンクでは、「他のイベント」からのデータがコンソールに表示されません。

サーバー (app.js):

var app = require('express')()
  , server = require('http').createServer(app)
  , io = require('socket.io').listen(server);

server.listen(8088);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

io.sockets.on('connection', function (socket) { 

  socket.emit('news', { 
    hello: 'world' 
  });

  socket.on('my other event', function (data) {
    console.log(data);
  });

});

クライアント (index.html):

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect();

  socket.on('news', function (data) {
    console.log(data);
    alert(data.hello);

    socket.emit('my other event', { 
        my: 'data' 
    });

  });

</script>
4

1 に答える 1

0

Express 3.0 と socket.io の間の非互換性である可能性があります。

これを試して:

var express = require('express'),;
var http = require('http');
var app = express();

var server = module.exports = http.createServer(app);
var io = require("socket.io").listen(server);

server.listen(8088);
于 2012-09-24T06:43:48.403 に答える