原创作品,转载请标明:http://www.jb51.cc/article/p-ndohzuqc-ep.html
这里采用Apache+PHP搭建了一个简易服务器,服务端用PHP语言,客户端采用cocos2d-x的CCHttpClient类通过http方式访问服务端资源。模拟了cocos2d-x提交账户和密码到服务端,服务端校验帐号密码,如果正确返回客户端成功登录,如果错误则返回错误信息,同时在服务端后台保存登录log。第一次接触PHP,语法上和C/C++还是蛮像的,主要是给出一个cocos2d-x网络实例,代码中并没有做一些防呆纠错措施。
1.搭建Apache+PHP网页服务器
Apche2.2 x86版下载地址:http://pan.baidu.com/s/1vNuLF
PHP5.2.17版下载地址:http://pan.baidu.com/s/17sFoN
搭建过程参见http://tech.163.com/06/0206/11/299AMBLT0009159K.html,这里就不安装MysqL了。
搭建成功后,打开http://127.0.0.1,就可以看到"It' works!"字样。同时打开Apache monitor监控Apache处于运行状态。我这里使用的80端口。
2.PHP收集表单的方式
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE,对应着查改增删,这里介绍GET和POST。
用$_GET获取表单数据,表单数据对任何人都是可见的,比如
http://www.w3school.com.cn/welcome.PHP?username=jackystudio&password=123
http://www.w3school.com.cn/welcome.PHP
3.服务器PHP处理代码
3.1.采用get方式代码
- <html>@H_403_126@
- <body>@H_403_126@
- <?PHP@H_403_126@
- $open=fopen("log.txt","a");//Savepassword@H_403_126@
- if(isset($_GET["username"])&&isset($_GET["password"]))@H_403_126@
- {@H_403_126@
- if($_GET["username"]=="jackystudio"&&$_GET["password"]=="123")@H_403_126@
- fwrite($open,"Username:".$_GET["username"]);@H_403_126@
- fwrite("\r\n");@H_403_126@
- "Password:".$_GET["password"]);@H_403_126@
- echo"LoginSuccess";//returntoclient@H_403_126@
- }@H_403_126@
- else@H_403_126@
- {@H_403_126@
- "WrongUsernameorpassword!");@H_403_126@
- echo"LoginFailed";//returntoclient@H_403_126@
- }@H_403_126@
- "Nopassword");@H_403_126@
- echo"NoUsernameorPassword"; fclose($open);@H_403_126@
- ?>@H_403_126@
- </body>@H_403_126@
- </html>@H_403_126@
3.2.采用post方式代码
- <html>@H_403_126@
- <body>@H_403_126@
- <?PHP@H_403_126@
- //Savepassword@H_403_126@ @H_144_403@$_POST["username"])&&isset($_POST["password"]))@H_403_126@
- {@H_403_126@ @H_144_403@$_POST["username"]=="jackystudio"&&$_POST["password"]=="123")@H_403_126@
- $_POST["username"]);@H_403_126@
- "\r\n");@H_403_126@ @H_144_403@$_POST["password"]);@H_403_126@
- //returntoclient@H_403_126@
- }@H_403_126@
- else@H_403_126@
- {@H_403_126@
- "WrongUsernameorpassword!");@H_403_126@ @H_144_403@//returntoclient@H_403_126@
- }@H_403_126@
- "Nopassword");@H_403_126@ @H_144_403@$open);@H_403_126@
- ?>@H_403_126@
- </body>@H_403_126@
- </html>@H_403_126@
4.cocos2d-x使用CCHttpClient类进行网络请求
CCHttpClient的使用这里也不赘述了,请移步官方文档How_to_use_CCHttpClient。这里在上文编辑框和点九图的基础上进行了修改。2个编辑框,分别是username和password。一个按钮点击发送请求。一个文本显示从服务器返回的结果。
4.1.按钮请求处理