// ReadXXX不能用于读取startup message;WriteXXX可以用于写startup message。 public async Task <Msg> ReadMsgAsync(int milliSecondsTimeout = -1) { Msg msg = readBuf.GetMsg(IsFe); if (msg != null) { return(msg); } readBuf.Append(await sock.RcvAsync2(1024 * 4, milliSecondsTimeout)); return(readBuf.GetMsg(IsFe)); }