//�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ�������� public void Start() { readServerConfig(); m_obSocket = new AsyncSocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp, true); m_obSocket.OnListened += new SocketListenedHandler(m_obSocket_OnListened); //MessageBox.Show(s_stHostIp); m_obSocket.Start(s_stHostIp, PolicyPort, m_backLogLength); }
//�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ������������ void m_obSocket_OnListened(AsyncSocket socket, string message) { socket.OnAccept += new SocketAcceptHandler(socket_OnAccept); }
//�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ����ӳɹ����� void socket_OnAccept(AsyncSocket newSocket) { string info = m_stPolicyFile + s_stHostName + m_stPolicyFileEnd + s_nHostPort.ToString() + m_stPolicyEnd; byte[] policyFile = UTF8Encoding.UTF8.GetBytes(info + NetConfig.EndChar); newSocket.client.Send(policyFile); }
//�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ����ӽ��ܻص� private void AcceptCallBack(IAsyncResult ar) { Socket handler = m_socket.EndAccept(ar); AsyncSocket newSocket = new AsyncSocket(handler, m_blChatMode); //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡμ����¼� if (null != onAccept) { onAccept(newSocket); } //�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ����¼��� m_socket.BeginAccept(new AsyncCallback(AcceptCallBack), null); }