Skip to content

Instantly share code, notes, and snippets.

@AxGord
Created August 15, 2013 06:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AxGord/6238724 to your computer and use it in GitHub Desktop.
Save AxGord/6238724 to your computer and use it in GitHub Desktop.
package ;
import com.dongxiguo.protobuf.binaryFormat.LimitableBytesInput;
import haxe.io.BytesInput;
import haxe.io.BytesOutput;
import pony.net.SocketClient;
import pony.net.SocketServer;
import samplePackage.Call_Builder;
import samplePackage.SetSpeed_Builder;
using samplePackage.Call_Merger;
using samplePackage.Call_Writer;
using samplePackage.SetSpeed_Merger;
using samplePackage.SetSpeed_Writer;
/**
* Main
* @author AxGord <axgord@gmail.com>
*/
class Main {
private static var server:SocketServer;
private static var client:SocketClient;
static function main() {
server = new SocketServer(6001);
server.data.add(serverData);
server.connection.add(connection);
client = new SocketClient(6001);
client.connect.add(connect);
}
static function connect():Void {
var builder = new Call_Builder();
builder.setSpeed = [ {
var b = new SetSpeed_Builder();
b.id = 2;
b.value = 120;
b;
},{
var b = new SetSpeed_Builder();
b.id = 5;
b.value = 170;
b;
}];
var b = new BytesOutput();
builder.writeTo(b);
client.send(b);
}
static function serverData(b:BytesInput, s:SocketClient):Void {
trace('Client: '+s.id);
var b2 = new Call_Builder();
b2.mergeFrom(new LimitableBytesInput(b.readAll()));
trace(b2.setSpeed);
}
static function connection(cl:SocketClient):Void {
trace('New client ' + cl.id);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment