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

  • Dopelives

    Dopelives

    30 Temmuz 2009
  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014
  • Mismag822 - The Card Trick Teacher

    Mismag822 -

    18 EKİM 2008