从C#应用程序获取心跳并将其发布到网站



我有一个用C#编写的Minecraft软件,我想把心跳发送到我的网站。我有办法发送已经写好的节拍。

 if (Server.Uri == null) return;
        string uri = "http://GemsCraft.comli.com/Heartbeat.php";
        // create a request
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            request.Method = "POST";
            // turn request string into a byte stream
            byte[] postBytes = Encoding.ASCII.GetBytes(string.Format("ServerName={0}&Url={1}&Players={2}&MaxPlayers={3}&Uptime={4}",
                             Uri.EscapeDataString(ConfigKey.ServerName.GetString()),
                             Server.Uri,
                             Server.Players.Length,
                             ConfigKey.MaxPlayers.GetInt(),
                             DateTime.UtcNow.Subtract(Server.StartTime).TotalMinutes));
            request.ContentType = "application/x-www-form-urlencoded";
            request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
            request.ContentLength = postBytes.Length;
            request.Timeout = 5000;
            Stream requestStream = request.GetRequestStream();
            // send it
            requestStream.Write(postBytes, 0, postBytes.Length);
            requestStream.Flush();
            requestStream.Close();
            /* try
             {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Logger.LogToConsole(new StreamReader(response.GetResponseStream()).ReadToEnd());
                Logger.LogToConsole(response.StatusCode + "n");
             }
             catch (Exception ex)
             {
                 Logger.LogToConsole("" + ex);
             }*/
        }

现在,我希望能够在PHP中检索心跳,将其上传到SQL数据库,然后在将显示在网页上的表中显示每个用户的服务器

我该怎么做?

portforwardpodcast的答案不太适合您的目的,下面是您思考的过程

服务器访问以下页面:heartbeat.php?端口=25565&最大玩家数=25&玩家=2&name=奶酪_Pizza_Palace

然后,您的PHP脚本将执行以下操作。。。

  • 遍历每个值,确保它们都是您希望的类型(整数/字符串)
  • 连接到数据库
  • 如果数据库中的服务器已经存在,则更新该服务器;如果不存在,则创建该服务器
  • 返回一些值,以便服务器知道它已成功完成

并显示服务器

  • 获取所有"活动"服务器
  • 循环浏览它们并显示每一个

你需要弄清楚的事情:

  • 如何确定正常运行时间
  • 如何确定"活动"服务器
  • 如何更新/创建MySQL条目
  • 如何(正确)连接到数据库。我建议您使用PDO,因为您使用的是PHP。学习起来有点困难,但它比直接编写查询安全得多
  • 如何循环遍历所有GET变量

狩猎得好!

我会创建一个简单的php页面,接受一个get变量。类似于CCD_ 1,其中编号为CCD_。然后你需要重新使用你的c#在网站上做一个简单的get请求。最后,您的php应该插入到一个mysql表中,其中包含一列idtimestampserver_id等。

首先,您需要从请求中提取数据。php中的$_REQUEST变量很好,因为它同时适用于GET和POST:

http://php.net/manual/en/reserved.variables.request.php

从var_dump开始或回显所需的字段。一旦你可以将所需的数据放入变量中,你就完成了第一部分。在下一部分中,您需要在MySQL中创建一个数据库和表。最好的工具是phpmyadmin。如果你有一个像godaddy(或其他一些)这样的主机,你可以从控制面板上找到它。如果没有,您可能需要自己安装上传phpmyadmin文件。这是一个非常简单的工具:

http://www.youtube.com/watch?v=xxQSFHADUIY

一旦数据库有了正确的列,就需要插入php文件中的数据。这个页面应该有帮助:

http://www.w3schools.com/php/php_mysql_insert.asp

相关内容

  • 没有找到相关文章

最新更新