public override int Send(long conn_idx, ByteArray by) { base.Send(conn_idx, by); if (m_socket == null) { return(0); } if (by.Available >= SocketID.SendRecvMaxSize) { by.Skip(SocketID.PacketHeadSize); ushort header = by.ReadUShort(); Log.Error("发送数据量过大:" + header); return(0); } int data_len = by.Available - SocketID.PacketHeadSize; by.ModifyUShort((ushort)data_len, 0); m_socket.Send(conn_idx, by.GetBuffer(), 0, (int)by.Available); return((int)by.Available); }