使用列表连接&;断开

本文关键字:amp 断开 连接 列表 | 更新日期: 2023-09-27 18:22:21

这里有Connect();功能:

public static void Connect(string username, string password, string roomName, string roomType, string roomID, string roomPass, bool roomVisible)
{
    Console.WriteLine("[Bot] Trying to login...");
    PlayerIO.QuickConnect.SimpleConnect("everybody-edits-su9rn58o40itdbnw69plyw", username, password,
        delegate(Client client)
        {
            Console.WriteLine("[Bot] Logged in. Trying to join the room...");
            Dictionary<string, string> roomData = new Dictionary<string, string>();
            Dictionary<string, string> joinData = new Dictionary<string, string>();
            roomData.Add("editkey", roomPass);
            roomData.Add("name", roomName);
            joinData.Add("editkey", roomPass);

            try
            {
                con = client.Multiplayer.CreateJoinRoom(roomID, roomType, roomVisible, roomData, joinData);
                if (con.Connected)
                {
                    con.Send("init");
                    con.Send("init2");
                    con.OnMessage += new MessageReceivedEventHandler(OnMessage);
                    con.OnDisconnect += delegate(object sender, string reason)
                    {
                        Console.WriteLine("Disconnected, Error: " + reason);
                    };
                    Console.WriteLine("[Bot] Joined the world.");
                }
            }
            catch (PlayerIOError error)
            {
                Console.WriteLine("Error: " + error);
            }
        },
        delegate(PlayerIOError error)
        {
            Console.WriteLine("Error: " + error);
        });
}

最终目标是断开连接,我的朋友告诉我这可以通过使用列表来完成。我不熟悉列表,也不知道如何使用它们。

我要求的是将其放在"列表"形式中,这样(我假设…)我们就可以使用"清除"方法来断开连接。或者可能是"删除"方法。

但正如我所说,我根本不确定如何使用Lists,所以Clear方法可能意味着完全不同的东西。

请询问您是否需要了解更多有关此功能的信息,我会尽快回复。但从我所掌握的关于列表的模糊信息来看,你不需要了解该功能的每一个细节。

使用列表连接&;断开

你的朋友想说的是,你需要维护一个连接列表。List只是一个维护引用的对象。

完成所有连接后,您可以浏览列表并"注销"或以其他方式断开与这些通道的连接。

移除更合适。因为对于列表结构,当您使用类似。。。

list.Clear()//这会清除整个列表

如果你只是断开一个客户端的连接,你不想删除所有客户端,只想删除一个。

list.RemoveAt(int index)或list。Remove(Object o)只会从您的列表中删除一个特定的客户端。

这里有一个链接可能会有所帮助:

http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx