static async Task <int> DoMainAsync() { var builder = new GatewayBuilder() .SetGatewayName("demo_gateway") .ConfigureCluster(options => { options.DisableClustering(); //不使用集群模式 }) .SetHttpProvider(provider => { provider.EnableSSL = false; provider.GatewayUrl = "meow"; provider.ListenIP = System.Net.IPAddress.Any; provider.Port = 80; provider.UseJson(); //使用JSON格式解析、编码消息 }) .SetWebSocketProvider(provider => { provider.EnableSSL = false; provider.HandleUrl = "meow"; provider.HostAddress = System.Net.IPAddress.Any; provider.Port = 9002; provider.UseLibuv = true; provider.UseJson(); //使用JSON格式解析、编码消息 }) .AddMessageHandler(new MessageHandler("hello", MessageMethod.GET, (req, resp) => { return(resp.SendAsync(new { msg = "hello" })); })) .AddMessageHandler(new MessageHandler() { ProtocolName = "player:*", Method = MessageMethod.POST, Handler = (req, resp) => { return(resp.SendAsync(new { msg = "hello", proto_name = req.ProtocolName })); } }) .AddMessageController <ApiController>("api:"); IGatewayBox gateway = await builder.RunAsync(); ReadInput(); return(0); }
public ApiController(IGatewayBox gateway) : base(gateway) { }