public int curPrefix = 0;//需要读取的数据总长度 public void ReceivedCallback(IAsyncResult ar) { try { StateObject so = (StateObject)ar.AsyncState; Socket client = so.workSocket; int readSize = client.EndReceive(ar); //结束读取,返回已读取的缓冲区里的字节数组长度 //将每次读取的数据,写入内存流里 receiveData.Write(so.buffer, 0, readSize); receiveData.Position = 0; NetMsgHeader msgXp = new NetMsgHeader(); msgXp.decode(receiveData); } catch { } }
public int curPrefix = 0;//需要读取的数据总长度 public void ReceivedCallback(IAsyncResult ar) { try { StateObject so = (StateObject)ar.AsyncState; Socket client = so.workSocket; int readSize = client.EndReceive(ar); //结束读取,返回已读取的缓冲区里的字节数组长度 //将每次读取的数据,写入内存流里 receiveData.Write(so.buffer, 0, readSize); receiveData.Position = 0; NetMsgHeader msgXp = new NetMsgHeader(); msgXp.decode(receiveData); HelloResponse resp = HelloResponse.ParseFrom(msgXp.body); "Retcode:{0}".Log(resp.Retcode); if (resp.HasErrmsg) { resp.Errmsg.Log(); } } catch { } }