private void AcceptClient(IAsyncResult ar) { Socket socket = m_Socket.EndAccept(ar); ClientNetter clientNetter = new ClientNetter(socket); clientNetter.Id = (uint)(s_ClientAutoId++); Dictionary <int, MessageParser> .Enumerator parserEnumator = m_ReceiveParserDic.GetEnumerator(); while (parserEnumator.MoveNext()) { clientNetter.AddParser(parserEnumator.Current.Key, parserEnumator.Current.Value); } Dictionary <int, ServerMessageReceiveDelegate> .Enumerator delegateEnumator = m_ReceiveDelegateDic.GetEnumerator(); while (delegateEnumator.MoveNext()) { MessageReceiveDelegate callback = (message) => { ClientEndReceive(clientNetter.Id, message); }; clientNetter.AddReceiveDelegate(delegateEnumator.Current.Key, callback); } m_ClientDict.Add(clientNetter.Id, clientNetter); m_ClientList.Add(clientNetter); clientNetter.BeginReceive(); }
public void SendMessageRsp(uint clientId, string message) { Show(string.Format("SendTo {1}:{0}", message, clientId)); Msg.G2C.SMESSAGERsp respond = new Msg.G2C.SMESSAGERsp(); respond.ClientMessage = message; ClientNetter client = m_Netter.GetClient(clientId); client.Send <Msg.G2C.SMESSAGERsp>(((int)Msg.G2C.CMD.SmessageRsp), respond); }
// -- Server to Client -- public void SendAuthRsp(uint clientId) { Show("客户端认证通过:" + clientId); Msg.G2C.AuthRsp msg = new Msg.G2C.AuthRsp(); msg.UserId = clientId; ClientNetter client = m_Netter.GetClient(clientId); client.Send <Msg.G2C.AuthRsp>(((int)Msg.G2C.CMD.AuthRsp), msg); }
public ClientNetUser() { m_Netter = new ClientNetter(); InitRegister(); }