Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Node.js ve TCP socket meseleleri


Öne çıkan mesajlar

Mesaj tarihi:
Aşağıda bi tane de socket.io ile olan vardı ama ben dümdüz createServer diyip açıyorum.

server.js


var net = require('net');

var server = net.createServer( function( client ) {
console.log('Connected: '+ new Date().toISOString() );

client.on('data', function(data) {

client.setEncoding('utf8');

var buffer = new Buffer( data, 'ascii' );

console.log( buffer );

client.end();
});

client.on('close', function(data) {
console.log( 'Closed: '+ new Date().toISOString() );
});

client.on('end', function() {
console.log( 'Disconnected: '+ new Date().toISOString() );
});

client.pipe( client );

});

server.listen( 2593, function() {
console.log('Ready...');

server.on('error', function(e) {
if ( e.code == 'EADDRINUSE' ) {
console.log( 'Error: EADDRINUSE' );
}

if ( e.code == 'ECONNRESET' ) {
console.log( 'Error: ECONNRESET' );
}
});

});



Bağlanmayı denediğimdeyse ekranda şunu görüyorum:


<Buffer ef c0 a8 f2 01 00 00 00 07 00 00 00 00 00 00 00 12 00 00 00 00>


typeof ile kontrol edince ve data'nın object tipinde olduğunu görünce data.toJSON() ile biraz daha anlaşılır hale getirmeyi başardım:

[ 239, 192, 168, 242, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0 ]


hatta azcık daha ileri gittim ve "acaba read falan denesem nasıl olur" diyip buffer.readUInt32LE(0) ile buffer.readUInt32BE(0) şunlara ulaştım:

4071145711
4022380786


tabi hala bişey ifade etmedikleri için bir de son olarak Uint8Array( data ) deneyeyim dedim. o da şunu verdi:

Uint8Array()


{ '0': 239,
'1': 192,
'2': 168,
'3': 242,
'4': 1,
'5': 0,
'6': 0,
'7': 0,
'8': 7,
'9': 0,
'10': 0,
'11': 0,
'12': 0,
'13': 0,
'14': 0,
'15': 0,
'16': 18,
'17': 0,
'18': 0,
'19': 0,
'20': 0,
BYTES_PER_ELEMENT: 1,
get: [Function: get],
set: [Function: set],
slice: [Function: slice],
subarray: [Function: subarray],
buffer:
{ '0': 239,
'1': 192,
'2': 168,
'3': 242,
'4': 1,
'5': 0,
'6': 0,
'7': 0,
'8': 7,
'9': 0,
'10': 0,
'11': 0,
'12': 0,
'13': 0,
'14': 0,
'15': 0,
'16': 18,
'17': 0,
'18': 0,
'19': 0,
'20': 0,
slice: [Function: slice],
byteLength: 21 },
length: 21,
byteOffset: 0,
byteLength: 21 }



En son RFID işleriyle uğraşırken C ortamında buffer ile bişeyler yapıyordum. Şu an hiçbir fikrim yok nedir ne değildir ne yapıyorduk. Şu gelen şeyi ne yapsam da adam gibi okuyabilsem?
Saygılar, sevgiler.
Mesaj tarihi:
data.toString('utf8') şöyle, onu yazmayı unutmuşum bak iyi oldu hatırlattığın:


����☺ ↕


artık ne demek istiyor sen düşün :)
Mesaj tarihi:
ne bileyim abi data'nın orjinali ne :) client gönderiyor isteği işte. timestamp ya da unique id gibi bişey beklemiştim ama hep aynı şey geliyor. o yüzden fikir de üretemiyorum konuyla ilgili.
Mesaj tarihi:
şimdi başka bir client versiyonu ile deneyince fark ettim ki bana gelen şey ip adresi ve client versiyonunu da içeren bir paketmiş. şöyle ki;

[ 239, 192, 168, 242, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0 ]

yani ip = 192.168.242.1 ve versiyon = 7.0.18.0 demeye uğraşıyormuş. baştaki değer tüm versiyonlarda aynı geldiği için onun da paketin ne olduğunu söyleyen bişeyler olduğuna kanaat getirdim. 2 diğer örnek için bkz:


[ 239, 192, 168, 242, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0 ]


[ 239, 192, 168, 242, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2 ]

döküman okumaya başlarsam uyku olmaz bu gece. o yüzden burda kesip, başardığımı düşünerek uyumaya gidiyorum. bir sonraki adımda twofish falan girecek işin içine, iyice karışacak ortalık.
×
×
  • Yeni Oluştur...