Exemplo n.º 1
0
        public override async Task <bool> OnPush(IDataProtocol ps)
        {
            var more = ps as DefaultDataProtocol;

            switch ((EOps)more.Ops)
            {
            case EOps.Push:
            {
                var proto = PiSerializer.Deserialize <PushProto>(more.Data);

                // ¹ã²¥Àý×Ó
                return(await BroadcastAsync(new DefaultDataProtocol
                    {
                        Ops = (short)EOps.Push,
                        Data = PiSerializer.Serialize(new PushProto
                        {
                            Message = ID + " : " + proto.Message
                        })
                    }));
            }

            default:
                return(RpcResult.Failure);
            }
        }
Exemplo n.º 2
0
 private async void Broadcast()
 {
     await Object.Push(new DefaultDataProtocol
     {
         Ops  = (short)EOps.Push,
         Data = PiSerializer.Serialize(new PushProto {
             Message = "Hello socket4net!"
         })
     });
 }
Exemplo n.º 3
0
 private async void Request()
 {
     await Object.RequestAsync(new DefaultDataProtocol
     {
         Ops  = (short)EOps.Reqeust,
         Data = PiSerializer.Serialize(new RequestProto()
         {
             Message = "I'm a request!"
         })
     });
 }
Exemplo n.º 4
0
        public override async Task <bool> OnPush(IDataProtocol ps)
        {
            var more = ps as DefaultDataProtocol;

            switch ((EOps)more.Ops)
            {
            case EOps.Push:
            {
                var proto = PiSerializer.Deserialize <PushProto>(more.Data);
                return(true);
            }

            default:
                return(false);
            }
        }
Exemplo n.º 5
0
        public override async Task <RpcResult> OnRequest(IDataProtocol rq)
        {
            var more = rq as DefaultDataProtocol;

            switch ((EOps)more.Ops)
            {
            case EOps.Reqeust:
            {
                var proto = PiSerializer.Deserialize <RequestProto>(more.Data);
                return(RpcResult.MakeSuccess(new ResponseProto
                    {
                        Message = $"Response from server : {proto.Message}"
                    }));
            }

            default:
                return(RpcResult.Failure);
            }
        }
Exemplo n.º 6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="proto"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static RpcResult MakeFailure <T>(T proto)
 {
     return(new RpcResult(false, PiSerializer.Serialize(proto)));
 }
Exemplo n.º 7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="proto"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static RpcResult MakeSuccess <T>(T proto)
 {
     return(new RpcResult(true, PiSerializer.Serialize(proto)));
 }