Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为检查定义多个IP_C#_Mysql - Fatal编程技术网

C# 为检查定义多个IP

C# 为检查定义多个IP,c#,mysql,C#,Mysql,我真的不知道这个标题该怎么说。我想做的是:我在Mysql中有一个表,其中有一列用于我添加的IP。如果我的表中有IP,我不希望播放机连接到我的服务器。 表如下所示,作为示例: # | IP 1 | 127.0.0.1 2 | 128.0.0.1 3 | 129.0.0.1 4 | 130.0.0.1 我想,用C,让它检查连接人的ip是否在上面,然后停止连接。我已经定义了玩家IP,例如plr.Account.IP。如何准确定义数据库中要检查的每个

我真的不知道这个标题该怎么说。我想做的是:我在Mysql中有一个表,其中有一列用于我添加的IP。如果我的表中有IP,我不希望播放机连接到我的服务器。 表如下所示,作为示例:

    #  |  IP
    1  | 127.0.0.1
    2  | 128.0.0.1
    3  | 129.0.0.1
    4  | 130.0.0.1
我想,用C,让它检查连接人的ip是否在上面,然后停止连接。我已经定义了玩家IP,例如plr.Account.IP。如何准确定义数据库中要检查的每个IP?我尝试过几种方法,但都失败了,我对编码这方面还是相当陌生,我只是想寻求一些帮助

编辑:

好吧,对不起,我想我说错了。我参加了一个开发小组的一个小游戏,主要是为了练习,这样我可以做得更好。我删除了我试图做的事情,因为它失败得很惨,我无法用它重建。我可能应该把它注释掉,但我觉得不值得。我想做点像这样的东西

           If(player.Account.IP == BannedIP) 
    {
     //banned
    } 

差不多吧。BannedIP将是我放在那里的MySQL的任何IP。我正在尝试Apomene现在发布的内容。

在程序开始时,将IP保存在列表中:

 List <string> IPs=new List<string>();
 MySqlConnection conn = new SqlConnection("yourconnectionstring");
 conn.Open();   
  MySqlCommand cmd = conn.CreateCommand();
  string command = "Select IP from myIPTable";
  cmd.CommandText = command;
  MySqlDataReader sqlreader = cmd.ExecuteReader();
  while (sqlreader.Read())
    {
      IPs.Add(sqlreader[0].ToString());
    }

如果您在读取记录的地方提供一段代码,会更方便。我可以帮助你更快更准确。请用你目前正在做的事情发布你的代码。你是在问如何从C查询MySQL数据库吗?或者如何在SQL中形成查找查询最好添加您迄今为止的最佳尝试,并解释为什么它没有做您希望它做的事情,除了@DriesVB所说的,为什么您要通过IP计数控制max player登录?如果AccountIsLoggedIn,为什么不阻止登录呢?你似乎在想相反的事情;推送用户IP,不拉列表。您可以执行select existsselect*from ips where ip='userip'语句,让DB在表中查找ip,然后根据结果执行操作。
...
if (IPs.Contains(plr.Account.IP)
{
  ///dont allow use to make any actions
}
var cmd = new MySqlCommand("SELECT * FROM Ips WHERE ip=@playerip", MySqlConn.conn);
cmd.Parameters.AddWithValue("@playerip", plr.Account.IP);
cmd.Prepare();
MySqlDataReader res = cmd.ExecuteReader();
if (res.HasRows)
{
     // banned
}