远控开发记录03_Http

上一篇笔者讲到要将手机的位置信息发送到服务器并存入数据库。那么现在开始使用AsyncHttpClient来发送消息。
首先可以Google一下AsyncHttpClient包的下载地址,这是开源的。有很多方法下载。笔者就不多强调了。
那么你将包导入工程后,你可先阅读下面这篇文章。
http://www.cnblogs.com/angeldevil/p/3729808.html
了解完之后。也就是你应该知道怎么用post方式发送数据。至于发到哪里,也就是我们后台需要编写的内容,也就是我们需要用另外一个网址来代替上述博客中的www.google.com。
接下来就涉及到后台的编写了。
在phpstorm上创建项目。当然项目放在你配置的服务器本地目录。那么我们后台使用的语言是php。这里笔者选择thinkphp框架进行编写。首先了解一下thinkphp。http://www.thinkphp.cn/ 这是thinkphp的官网。ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。

这里写图片描述

下载下来将thinkphp包导入新建的工程。thinkphp采用mvc(模块(M),视图(V),控制器(C))的架构模式,有自己的开发手册。那么我们需要的是在thinkphp开发手册中讲解的控制器部分添加自己的控制器,如笔者添加文件testController.class.php。在文件中添加如下代码:

public function SetXY()
    {
        $phone = D('Phone');   //数据库phone表
        $data = $phone->create();//获取发送来的数据
        $Name['DeviceId'] = $_POST['deviceid']; //获取发送来的deciveid
        $user = D("user");  //数据库user表
        $userid = $user->field('No')->where($Name)->find(); //查询操作
        $data['userid'] = $userid['No'];
        $map['userid'] = $data['userid'];
        if ($re = $phone->field("No")->where($map)->find()) {
            $data['No'] = $re['No'];
            $phone->save($data); //修改操作
            echo $data['userid'] . "save";
        } else {
            $phone->add($data); //新增操作
            echo $data['userid'] . "add";
        }
    }

那么写到这里。你就可以把例子中www.google.com换成。localhost/home/test/setxy。解释一下。localhost是你的域名。这里指本地服务器。home指的是你的php项目,test就是你的项目中的控制器名。setxy就是上述的入口函数。
那么post函数中的url就可以修改成你任意想要的功能函数。param参数就是你需要发送的消息内容。如上述代码的DeviceId,你可以发送一个值。服务器通过$_post方式接收。而第3个参数AsyncHttpResponseHandler。就是监听服务器处理结果的回调函数。可以根据上述代码中echo的内容不同进行相应的操作。

整篇比较抽象。是需要一定基础的读者才能看懂。所以各位读者谅解。

我是搬运工,热爱我的热爱。

猜你喜欢

转载自blog.csdn.net/u014472643/article/details/52353159