socket.IO 问题,找遍所有群,搜了几个小时也没有找到一个人能解答的,求高手解答!!!1
发布于 3天前 作者 flftfqwxf 137 次浏览 来自 问答

官网上有一个这样的示例(http://socket.io/docs/):

222.png

此处,说明是会创建一个http请求,但是我没明白,这个请求创建了之后,要怎么访问呢,我看代码engine.io.js里,有这样一段代码:

     function listen(port, options, fn) {
    if (‘function’ == typeof options) {
    fn = options;
    options = {};
    }
    
    var server = http.createServer(function (req, res) {
        res.writeHead(501);
        res.end('Not Implemented');
    });
    
    server.listen(port, fn);
    
    // create engine server
    var engine = exports.attach(server, options);
    engine.httpServer = server;
    
    return engine;
    };

创建的一个501请求,但是这样创建的一个,用什么方法可以访问呢?? 还有就是如果才能触发 connection事件呢?? 一直没搞明白这两个问题

按我的理解是,创建了一个HTTP服务,然后通过浏览器去访问,然后再通过客户端的 **var socket = io(‘http://localhost’);**来建立长链接,然后触发后端的 io.on('connection’, function (socket) { console.log(4); socket.emit('news’, { hello: ‘world’ }); socket.on('my other event’, function (data) { console.log(data); }); }); 但是,最上面的代码,不清楚在哪个地方可以触发事件,并且怎么访问建立的HTTP服务!请知道的解答一下,谢谢

1 回复

示例代码一个是sever端的一个是client: sever端监听80端口 建立了两个频道 chat 和news ,在

on('connection',function(socket){
//do with socket fn eg:socket.emit('event','data');
});

中可以 通过socket.emit(‘evnet’,’data’);触发事件,这时候客户端socket.on('event’,function(data){//do with the data})就可以接收到了。 分别用node server , node client 测试就清楚了

回到顶部