public int AddToFirstAvailable(UDPClientHandler client) { for (int i = 0; i < Capacity; i += 1) { if (!ContainsId(i)) { clients.Add(i, client); return(i); } } return(-1); }
public UdpManager(int port) { //开启服务器 Handlers = new UDPClientHandler(); Handlers.AutoLoad(); EventBasedNetListener listener = new EventBasedNetListener(); server = new NetManager(listener, 100, "111"); server.Start(port); Log.Info("upd 端口:" + port); listener.PeerConnectedEvent += peer => { peer.Handle = Handlers.Handle; Log.Info("新udp连接:{0}", peer.EndPoint); lock (clients_add) { clients_add.Add(peer); } onPeerConnected?.Invoke(peer); }; listener.NetworkReceiveEvent += (fromPeer, dataReader) => { lock (fromPeer.RecvBuffer_Add) { fromPeer.RecvBuffer_Add.Add(dataReader.Data); } }; listener.PeerDisconnectedEvent += (peer, disconnectInfo) => { Console.WriteLine("peer disconnectd ===>", peer.EndPoint); // Show peer ip onPeerDisconnected?.Invoke(peer); }; pollEventThread = new Thread(pollEvent); pollEventThread.Start(); }
public void OnClientPacketReceived(Packet packet, UDPClientHandler client) { throw new NotImplementedException(); }
public void OnClientReconnected(UDPClientHandler oldClient, UDPClientHandler newClient) { throw new NotImplementedException(); }
public void OnClientDisconnected(UDPClientHandler client) { throw new NotImplementedException(); }
public void Remove(UDPClientHandler client) { clients.Remove(client.Id); ipsToClients.Remove(client.RemoteEP); }
public void AddTo(UDPClientHandler client, int id) { clients.Add(id, client); ipsToClients.Add(client.RemoteEP, client); }