public int Receive(Socket s) { byte[] bytes = new byte[MsgHeader.GetSize()]; s.Receive(bytes, MsgHeader.GetSize(), SocketFlags.None); m_header.TransformToMsgHeader(bytes); if (m_header.m_size > 0) { bytes = new byte[m_header.m_size + 1]; s.Receive(bytes, m_header.m_size + 1, SocketFlags.None); m_data = cp1251.GetString(bytes, 0, m_header.m_size); } return(m_header.m_type); }