xorg1990
Neues Mitglied
Hi, ich versuche die Daten einer TCP Verbindung in eine Websocket-Verbindung zu schreiben.
Nur beim connect auf den Server bricht das Skript ab, mit der Fehlermeldung:
Error: listen EADDRINUSE .
Manchmal kommt aber auch „read ECONNRESET“, das hängt ganz davon ab mit welchem Programm ich mein Script teste Netcat oder Telnet.
Ich habe mir extra ein console.log('user connected'); eingebaut, aber selbst bis dahin kommt das Script nicht.
Sry das ich jetzt hier frage, ich habe noch kein passendes Forum für Node.js gefunden.
Nur beim connect auf den Server bricht das Skript ab, mit der Fehlermeldung:
Error: listen EADDRINUSE .
Manchmal kommt aber auch „read ECONNRESET“, das hängt ganz davon ab mit welchem Programm ich mein Script teste Netcat oder Telnet.
Code:
var net = require('net');
var BinaryServer = require('binaryjs').BinaryServer;
function InitSocketCallbacks(state,bs,s){
function flushSocketBuffer() {
if(state.sBuffer.length > 0) {
s.write(Buffer.concat(state.sBuffer));
}
state.sBuffer = null;
};
function flushWebsocketBuffer() {
if(state.wsBuffer.length > 0) {
bs.send(Buffer.concat(state.wsBuffer));
}
state.wsBuffer = null;
};
s.on('connect', function() {
state.sReady = true;
console.log('user connected');
flushSocketBuffer();
});
bs.on('open', function () {
state.wsReady = true;
flushWebsocketBuffer();
});
s.on('data', function(data) {
if(! state.wsReady) {
state.wsBuffer.push(data);
} else {
bs.send(data);
}
});
}
var socket = net.createServer(function(s){
var bs = BinaryServer({port: 8088});
var state = {
sReady : false,
wsReady : false,
wsBuffer: [],
sBuffer : []
};
InitSocketCallbacks(state,bs,s);
});
socket.listen(3000);
console.log('Server started at port 3000');
Ich habe mir extra ein console.log('user connected'); eingebaut, aber selbst bis dahin kommt das Script nicht.
Sry das ich jetzt hier frage, ich habe noch kein passendes Forum für Node.js gefunden.