Beispiel #1
0
    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();
    }
Beispiel #2
0
	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();
	}