static void Main(string[] args) { PKG.AllTypes.Register(); var loop = new xx.UvLoop(); loop.InitRpcManager(1000, 10); loop.InitTimeoutManager(1000, 30, 5); var client = new xx.UvTcpClient(loop); client.SetAddress("127.0.0.1", 10001); client.OnConnect = status => { if (status != 0) { Console.WriteLine("connect to server_login failed. status = " + status); return; } Console.WriteLine("connected."); var a = new PKG.Client_Login.Auth { username = "******", password = "******" }; if (System.Environment.TickCount % 5 == 0) { a.password = "******"; } client.SendRequestEx(a, recv => { if (recv == null) { Console.WriteLine("recv == null( timeout )"); return; } Console.WriteLine("PKG.Client_Login.Auth recv: " + recv); switch (recv) { case PKG.Generic.Error o: client.Disconnect(); break; case PKG.Generic.Success o: break; default: break; } }); }; var timer = new xx.UvTimer(loop, 1000, 2000, () => { if (client.state == xx.UvTcpStates.Disconnected) { Console.WriteLine("connect to server_login..."); client.Connect(); } }); loop.Run(); }
public DbService(xx.UvLoop loop) { listener = new xx.UvTcpListener(loop); listener.Bind("0.0.0.0", 10000); listener.Listen(); listener.OnAccept = OnAccept; dispatcher = new xx.UvAsync(loop); }
static void Main(string[] args) { var uv = new xx.UvLoop(); var listener = new xx.UvTcpListener(uv); listener.Bind("0.0.0.0", 12345); listener.OnCreatePeer = () => { return(new EchoPeer(listener)); }; listener.Listen(); uv.Run(); }
public LoginService(xx.UvLoop loop) { listener = new xx.UvTcpListener(loop); listener.Bind("0.0.0.0", 10001); listener.Listen(); listener.OnAccept = OnAccept; dbClient = new xx.UvTcpClient(loop); dbClient.SetAddress("127.0.0.1", 10000); dbClient.OnConnect = OnDbClientConnect; // 延迟 500ms 后每 500ms 触发一次 timer = new xx.UvTimer(loop, 500, 500, OnTimerFire); }
static void Main(string[] args) { // 初始化 PKG 模板生成物代码 序列化的 id:type 映射 PKG.AllTypes.Register(); // 创建 libuv 运行核心循环 var loop = new xx.UvLoop(); // 初始化 rpc 管理器, 设定超时参数: 精度(ms), 默认超时 interval( duration = 精度ms * interval ) loop.InitRpcManager(1000, 5); // 创建数据库服务实例 var dbService = new DbService(loop); Console.WriteLine("server_db running..."); // 开始运行 loop.Run(); }
static void Main(string[] args) { // 初始化 PKG 模板生成物代码 序列化的 id:type 映射 PKG.AllTypes.Register(); // 创建 libuv 运行核心循环 var loop = new xx.UvLoop(); // 初始化 rpc 管理器, 设定超时参数: 精度(ms), 默认超时 ticks( duration = 精度ms * ticks ) loop.InitRpcManager(1000, 5); // 初始化 peer活动 超时管理器. 精度ms, 计时 ticks 最大值, 默认 ticks ( duration = 精度ms * ticks ) loop.InitTimeoutManager(1000, 30, 5); // 创建登陆服务实例 var loginService = new LoginService(loop); Console.WriteLine("server_login running..."); // 开始运行 loop.Run(); }
static void Main(string[] args) { var uv = new xx.UvLoop(); var conn = new EchoClient(uv); conn.SetAddress("0.0.0.0", 12345); conn.OnConnect = status => { if (status != 0) { Console.WriteLine("connect failed."); return; } conn.SendBytes(new byte[1] { 1 }); }; conn.Connect(); var sw = System.Diagnostics.Stopwatch.StartNew(); uv.Run(); Console.WriteLine(sw.ElapsedMilliseconds); Console.ReadLine(); }
public EchoClient(xx.UvLoop loop) : base(loop) { }