public void OnWebSocketWithThriftTestClick() { ThriftHandler <idl.Protocol> thandler = new ThriftHandler <idl.Protocol> (); thandler.AddHandler(idl.Protocol.Test1, (idl.TestAck ack) => { Debug.Log("Laputa says: " + ack.ToString()); }); thandler.AddHandler(idl.Protocol.Test2, (idl.Test2Ack ack) => { Debug.Log("Laputa says: " + ack.ToString()); }); WebSocket ws = new WebSocket("ws://127.0.0.1:8091/chat/1"); ws.OnMessage += (sender, e) => { MemoryStream stream = new MemoryStream(e.RawData); Thrift.Protocol.TProtocol tProtocol = new Thrift.Protocol.TBinaryProtocol(new Thrift.Transport.TStreamTransport(stream, null)); tProtocol.ReadStructBegin(); tProtocol.ReadFieldBegin(); idl.Header header = new idl.Header(); header.Read(tProtocol); stream.Position = 0; thandler.DoHandle(header.Key, tProtocol); }; ws.OnOpen += (object sender, System.EventArgs e) => { idl.TestReq shared = new idl.TestReq(); shared.Header = new idl.Header(); shared.Header.Key = idl.Protocol.Test1; shared.Key = 11; shared.Value = "aaa"; ws.SendAsync(shared, (bool s) => { Debug.Log("sent :" + s); }); }; ws.OnError += (object sender, NetworkLib.WebSocketSharp.ErrorEventArgs e) => { Debug.Log("error :" + e.Exception.Message); }; ws.OnClose += (object sender, CloseEventArgs e) => { Debug.Log("close"); }; ws.ConnectAsync(); }
public void OnWebSocketWithThriftTestClick() { ThriftHandler<idl.Protocol> thandler = new ThriftHandler<idl.Protocol> (); thandler.AddHandler(idl.Protocol.Test1, (idl.TestAck ack) => { Debug.Log("Laputa says: " + ack.ToString()); }); thandler.AddHandler(idl.Protocol.Test2, (idl.Test2Ack ack) => { Debug.Log("Laputa says: " + ack.ToString()); }); WebSocket ws = new WebSocket ("ws://127.0.0.1:8091/chat/1"); ws.OnMessage += (sender, e) =>{ MemoryStream stream = new MemoryStream(e.RawData); Thrift.Protocol.TProtocol tProtocol = new Thrift.Protocol.TBinaryProtocol(new Thrift.Transport.TStreamTransport(stream, null)); tProtocol.ReadStructBegin(); tProtocol.ReadFieldBegin(); idl.Header header = new idl.Header(); header.Read(tProtocol); stream.Position = 0; thandler.DoHandle(header.Key, tProtocol); }; ws.OnOpen += (object sender, System.EventArgs e) => { idl.TestReq shared = new idl.TestReq(); shared.Header = new idl.Header(); shared.Header.Key = idl.Protocol.Test1; shared.Key = 11; shared.Value = "aaa"; ws.SendAsync (shared, (bool s) =>{ Debug.Log("sent :" + s); }); }; ws.OnError += (object sender, NetworkLib.WebSocketSharp.ErrorEventArgs e) => { Debug.Log("error :" + e.Exception.Message); }; ws.OnClose += (object sender, CloseEventArgs e) => { Debug.Log("close"); }; ws.ConnectAsync(); }