private void RecMsgCb(IAsyncResult ret) { SimplePosConn conn = (SimplePosConn)ret.AsyncState; if (conn == null) { Console.WriteLine("The Conn is Null"); return; } try { int ind = 0; int count = conn.PosConnSocket.EndReceive(ret); conn.ByteCount = count; String s = System.Text.Encoding.Default.GetString(conn.GetContent(), ind, count); //回调发送 if (m_fSMsg != null) { m_fSMsg(s, conn); } else { Console.WriteLine("The CB Is Null"); } } catch (Exception e) { Console.WriteLine(e.ToString()); } conn.SPConnStart(); }
private void AcceptConnCb(IAsyncResult ret) { Socket sk = m_socket.EndAccept (ret); SimplePosConn conn = NewSPConn (); if (conn == null) { Console.WriteLine ("The Connector Pool Is Full"); sk.Close (); return; } conn.PosConnSocket = sk; conn.PosConnUsed = true; conn.SPConnStart (); Console.WriteLine (sk.RemoteEndPoint.ToString() + "Is Connected"); m_socket.BeginAccept (AcceptConnCb, null); }