/// <summary> /// 打开socket链接 /// </summary> private ResultModel OpenSocketConnect(CmppConnectionOption opt) { try { if (!_socket.Connected) { _socket.Connect(opt.IpAddress, opt.Port); } var connectReq = new ConnectReq(opt.SpCode, opt.Pwd, Option.Version); connectReq.MsgHeader.SequenceId = GetNextSequenceId(); _socket.Send(connectReq.ToBytes()); opt.ConnectedStatu = ConnectionStatu.Waiting; LogUtil.Info("发送打开连接请求", "connect_req"); } catch (Exception ex) { var keyCode = LogUtil.Error(string.Concat("连接短信服务方异常失败,详情:", ex.Message), "connect_failed"); opt.ConnectedStatu = ConnectionStatu.Failed; return(new ResultModel(ResultTypes.InnerError, string.Concat("连接短信服务方失败,错误码:", keyCode))); } return(new ResultModel()); }
static byte[] MarshalToBytes() { byte[] bytes; ConnectReq connectReq = new ConnectReq { Uid = 55555 }; using (MemoryStream stream = new MemoryStream()) { connectReq.WriteTo(stream); bytes = stream.ToArray(); } string str = connectReq.ToString(); Console.WriteLine("edwin #32 {0}", str); foreach (var i in bytes) { Console.WriteLine(i); } return(bytes); }
static void UnmarshalFromBytes(byte[] bytes) { ConnectReq connectReq = ConnectReq.Parser.ParseFrom(bytes); Console.WriteLine(connectReq.Uid); }