forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			44 lines
		
	
	
		
			896 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			896 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package kha.netsync;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import haxe.io.Bytes;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class WebSocketClient implements Client {
							 | 
						||
| 
								 | 
							
									var myId: Int;
							 | 
						||
| 
								 | 
							
									var socket: Dynamic;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public function new(id: Int, socket: Dynamic) {
							 | 
						||
| 
								 | 
							
										myId = id;
							 | 
						||
| 
								 | 
							
										this.socket = socket;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public function send(bytes: Bytes, mandatory: Bool): Void {
							 | 
						||
| 
								 | 
							
										socket.send(bytes.getData());
							 | 
						||
| 
								 | 
							
										// socket.send(bytes.getData(), {binary: true});
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public function receive(receiver: Bytes->Void): Void {
							 | 
						||
| 
								 | 
							
										socket.on('message', function(message) {
							 | 
						||
| 
								 | 
							
											// js.Node.console.log(message);
							 | 
						||
| 
								 | 
							
											receiver(Bytes.ofData(message));
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public function onClose(close: Void->Void): Void {
							 | 
						||
| 
								 | 
							
										socket.onclose = function() {
							 | 
						||
| 
								 | 
							
											close();
							 | 
						||
| 
								 | 
							
										};
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var controllers(get, null): Array<Controller>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_controllers(): Array<Controller> {
							 | 
						||
| 
								 | 
							
										return null;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var id(get, null): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_id(): Int {
							 | 
						||
| 
								 | 
							
										return myId;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |