Exemple #1
0
        private void M_server_ClientState(HCSocketServer.Common.Enmu.HCClientStateEnmu state, HCClient client)
        {
            switch (state)
            {
            case HCSocketServer.Common.Enmu.HCClientStateEnmu.Connected:
                m_clientlist.Dispatcher.Invoke(new Action(() =>
                {
                    m_clientlistsource.Add(new ClientData(clientid, client.Socket.RemoteEndPoint.ToString(), client.ClientID));
                    clientid++;
                }));
                break;

            case HCSocketServer.Common.Enmu.HCClientStateEnmu.Failed:
                break;

            case HCSocketServer.Common.Enmu.HCClientStateEnmu.Disconnected:
                m_clientlist.Dispatcher.Invoke(new Action(() =>
                {
                    foreach (ClientData item in m_clientlistsource)
                    {
                        if (item.clientid.Equals(client.ClientID))
                        {
                            m_clientlistsource.Remove(item);
                            clientid = 0;
                            break;
                        }
                    }

                    foreach (ClientData item in m_clientlistsource)
                    {
                        item.id = clientid;
                        clientid++;
                    }
                }));

                break;

            default:
                break;
            }
        }
Exemple #2
0
 public HCMessage(HCClient client, byte[] data)
 {
     HCClient = client;
     ClientID = client.ClientID;
     Data     = data;
 }