SORU
25 AĞUSTOS 2011, PERŞEMBE


Yuva.IO kontrol karakter sorunu

Websockets ve bir konsol Telnet üzerinden erişilebilir kullanan bir uygulama başlatıyorum. Bağlantı websockets ile kurulan ve konsol arasında bir iletişim yok. Garip bir sorun yaşıyorum:

  • Eğer bir dize bir şey konsolda girildiğinde kurulmuş bir yuva için sürekli gönderirsem işe yarıyor.
  • Eğer gönderdiğim bir dize alınan konsol kapsam görünüyor açık yeni bir yuva (emin değilim) çünkü hata ayıklama günlüğü görüyorum ve tarayıcı tarafı (websockets) bu uyarıları bana yeni bir bağlantı.
  • Eğer yerel bir dize (yerine bir başka kapsamına alınan) gönderirsem doğru gönderdi. (hat yorumladı: müşteri.send(mesaj) )

Burada nodeJS kodu, bu sadece bir yuva kabul ve Bağlantı websockets bu yüzden şimdi bir test uygulaması olduğu dikkate paylaşıyorum:

// Sample based on: http://elegantcode.com/2011/05/04/taking-baby-steps-with-node-js-websockets/
// Changed for sockets.io 6.x => 7.x


var events = require('events');
var eventEmitter = new events.EventEmitter();

var http = require('http');
var socketIO = require('socket.io');
var static = require('node-static');

var port = 2000;

var clientFiles = new static.Server('./client');

var httpServer = http.createServer(
    function(request, response) {
        request.addListener('end', function() { 
            clientFiles.serve(request, response);
       });
    })

httpServer.listen(port);
console.log("Server running at port: "   port);

var io = require('socket.io').listen(httpServer);

var webSocket = io.sockets;

webSocket.on('connection', function(client) {
    client.send('Please enter a user name ...');
    var userName;

    eventEmitter.on('someOccurence', function(message) {
        console.log("Received: "   message);
        client.send('Line Received');
        var s = 'popo';
        client.send(s);
        //client.send(message);
    });


    client.on('message', function(message) {
        console.log(message);

        if(!userName) {
            userName = message;
            client.broadcast.send(message   ' has entered the zone.');
            return;
        }

        var broadcastMessage = userName   ': '   message;
        client.broadcast.send(broadcastMessage);
        client.send("Repeated here: "   message);
    });

    client.on('disconnect', function() {
        var broadcastMessage = userName   ' has left the zone.';
        client.broadcast.send(broadcastMessage);
    });
});


var lines = require('lines-adapter');
var net = require('net');

var server = net.createServer(function (socket) {
    socket.write("Welcome to the Server\r\n");

    lines(socket, 'utf8')
    .on("data",
        function(line) {
            console.log("Line received: "   line);
            eventEmitter.emit('someOccurence', line);
        }
    )
    .end("end",
        function() {
            console.log("End of Stream");
        }
    );
});

server.listen(1337, "127.0.0.1");

GÜNCELLEME:Ben sadece yuva ile test edilmiştir.bu sorun olmadan ıo 0.8.6 ve nodeJS 0.4.12. Gelecekte başvurmak için bu soruyu burada devam edeceğim.

CEVAP
24 Kasım 2011, PERŞEMBE


Sabit soket ile.ıo v0.8.6. Bu q/kapalı cevap verilmesi gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • TomSka

    TomSka

    30 Mayıs 2006