Node.js Skript stürzt ab

xorg1990

Grünschnabel
Hallo, bin neu hier und weiß nicht weiter.
Ich Programmire schon seit Tagen an einer TCP to WebSocket Bridge.
Jetzt habe ich es endlich geschafft das Daten an den Browser gesendet werden, da stürzt mir doch glatt das Skript ab wenn ich den Browser schließe.
Fehlermeldung:
throw new Error('Stream is not writable');
^
Error: Stream is not writable
at BinaryStream.write (/home/xorg1990/Dokumente/node_modules/binaryjs/lib/stream.js:84:11)
at Socket.<anonymous> (/home/xorg1990/Dokumente/wsserver.js:38:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:710:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:382:10)
at emitReadable (_stream_readable.js:378:5)
at readableAddChunk (_stream_readable.js:143:7)
at Socket.Readable.push (_stream_readable.js:113:10)
at TCP.onread (net.js:511:21)

Server:
Code:
var net = require('net');
var BinaryServer = require('binaryjs').BinaryServer;

var socket = net.createServer(function(s){
	console.log('server connected');
	var bs = BinaryServer({port: 3000});
	
	bs.on('connection', function(client){
		console.log('BsClinet connected');
		s.on('close', function(had_error){
 			console.log('server disconnected');		
			bs.close();
			s.end();
		});

		s.on('error', function(e){
			console.log('socket error');
			console.log('e');
			bs.close();
			s.end();
		});

		client.on('close', function(){
			console.log('Client disconnected');
			client.close();
		});
		
		client.on('error', function(e){
			console.log('socket error');
			console.log('e');
			client.close();
		});
		

		client.on('stream', function(stream){
			s.on('data', function(data){
			console.log(data.length);
			stream.write(data);
			});
		});
			
		
				
	});
});	
		
socket.listen(5000);
console.log('server started at port 3000');

Client:
HTML:
<html>
<head>
  <script src="http://cdn.binaryjs.com/0/binary.js"></script>
</head>
<body>
  <script>
  var client = new BinaryClient('ws://192.168.2.104:3000');
    // Received new stream from server!
    var stream;
	
	client.on('open', function(){
	var parts = [];
		stream = client.createStream();
		stream.on('data', function(data){	
				parts.push(data);	
				document.getElementById("recieve").innerHTML=(parts.length) + "bytes recieved";		 	 
    	});	
	});
  
  </script>

<div id="recieve"> </div> 
</body>
</html>

Auch das Hinzufügen von s.end(); im Event client.on('close', brachte keinen Erfolg.
Wo ist das Problem?

mfg xorg1990
 
Zurück