private void ReciveData(IAsyncResult result) { int length = 0; try { length = m_ServerSocket.EndReceiveFrom(result, ref m_ListenPoint); //将接收到的信息转化为自定义的数据报类 Datagram recviceData = Datagram.Convert(m_Buffer, length); //数据解析 Analysis(recviceData); } catch (Exception e) { throw e; } finally { BeginListen(); } }
private void Recevie(IAsyncResult result) { int length = -1; try { length = this.m_ListenSocket.EndReceiveFrom(result, ref m_ListenPoint); this.AnalysisData(Datagram.Convert(m_Buffer, length)); } catch (Exception ex) { MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } finally { if (!IsDispose) { this.m_ListenSocket.BeginReceiveFrom(m_Buffer, 0, m_Buffer.Length, SocketFlags.None, ref m_ListenPoint, new AsyncCallback(Recevie), result); } } }