forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package kha.netsync;
 | |
| 
 | |
| import haxe.io.Bytes;
 | |
| #if sys_server
 | |
| import js.node.Buffer;
 | |
| import js.node.Dgram;
 | |
| #end
 | |
| 
 | |
| class UdpClient implements Client {
 | |
| 	var myId: Int;
 | |
| 
 | |
| 	public var onReceive: Bytes->Void = null;
 | |
| 
 | |
| 	#if sys_server
 | |
| 	var socket: Dynamic;
 | |
| 	#end
 | |
| 	var address: String;
 | |
| 	var port: Int;
 | |
| 
 | |
| 	#if sys_server
 | |
| 	public function new(id: Int, socket: Dynamic, address: String, port: Int) {
 | |
| 		myId = id;
 | |
| 		this.socket = socket;
 | |
| 		this.address = address;
 | |
| 		this.port = port;
 | |
| 	}
 | |
| 	#end
 | |
| 
 | |
| 	public function send(bytes: Bytes, mandatory: Bool): Void {
 | |
| 		#if sys_server
 | |
| 		var buffer = new Buffer(bytes.length);
 | |
| 		for (i in 0...bytes.length) {
 | |
| 			buffer[i] = bytes.get(i);
 | |
| 		}
 | |
| 		socket.send(buffer, 0, bytes.length, port, address);
 | |
| 		#end
 | |
| 	}
 | |
| 
 | |
| 	public function receive(receiver: Bytes->Void): Void {
 | |
| 		onReceive = receiver;
 | |
| 	}
 | |
| 
 | |
| 	public function onClose(close: Void->Void): Void {}
 | |
| 
 | |
| 	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;
 | |
| 	}
 | |
| }
 |