Cocos网络访问
来源:互联网 发布:病毒源码 编辑:程序博客网 时间:2024/06/03 15:06
注:本文为作者原创,其中知识内容出自闪电终结者的视频课程
环境:OS X10
涉及软件
Cocos
Xcode
VS code
APACHE
在Mac中自带了php和APACHE
关于APACHE
打开终端
重启apache:sudo apachectl restart
关闭apache:sudo apachectl stop
开启apache:sudo apachectl start
网络知识
服务器:在电脑网路中,服务器为其他客户端来提供某一些服务
服务器接收客户端的请求,然后做一些处理在返还给客户端一些数据
任何电脑都能充当服务器
应用程序的数据
JSON (JavaScript Object Notation) 一种数据的打包形式
数据的建立
数据的拆建
在断网下也能访问到的,放在本地
客户的账号之类的放在服务器端
http协议, 进行网络请求,
URL(Uniform Resource Locator)地址使用服务器所在的网关的IP地址
通过http协议访问到这个网关地址中的某个php文件,
将得到的数据打包成php表单,发送给php脚本,从而获取到服务器上php脚本启动的返回值
得到返回值后,在吧数据进行解包,在本地使用
APACHE 服务器软件(能把电脑环境配置成为服务器
php脚本有一个御用数据库MySQL(Structured Query Language)
以这个语言为查询语言的数据库都叫SQL
数据库
客户端 -》 服务端 -》 数据库 -》 同一个服务器 -》 客户端
计算机网络
每个地方都有个ip地址,相当于门牌号
子网掩码,默认网关,DNS服务器
在同一个网段下的人可以互相访问,
比如255.255.255.0
八个1.八个1.八个1.0 1表示盖住0表示展开
只要前三个部分的数字相同,后面不管多少都表示属于同一个网段
(同个wifi下的设备一般都属于一个网段)
127 开头的,不可以在网络上使用,被作为故障排除debug的Ip
127.0.0.1 都代表自己
测试连接
打开命令行
ping + ip地址
当出现
64 bytes from 192.168.0.105: icmp_seq=0 ttl=64 time=0.046 ms64 bytes from 192.168.0.105: icmp_seq=1 ttl=64 time=0.064 ms64 bytes from 192.168.0.105: icmp_seq=2 ttl=64 time=0.059 ms64 bytes from 192.168.0.105: icmp_seq=3 ttl=64 time=0.072 ms
等类似字符时候,表示连接成功
创建一个text.html文件,输入代码(用编辑器打开):
<!DOCTYPE html><html> <head><meta charset="utf-8"></head> <body> <h1>这是一个大的标题</h1> <h2 style="font-color:#ff0000">这是一个小标题</h2> </body></html>
保存,任意打开一个浏览器,输入
127.0.0.1/text.html// 或者 ip地址/text.html
在同个wifi下(同一个网段下)的其他电脑也是如此
连到一个wifi下一般就是在一个网段下
创建一个phptext.php文件,加入代码:
<?php for ($index = 1; $index < 5; $index++) { echo "<h$index>$index level titile</h$index>"; }
在浏览器中打开方式如上
测试证明:
编译脚本php -> 当有客户端访问到这个文件时候,服务器会把脚本解码,变成文本数据,返回给需要请求的数据
html代码,直接文件然后解析
Cococ网络访问
// 通过访问地址,得到返回值在改label // 设置网络请求的一个对象(开始整理一个请求) auto *request = new cocos2d::network::HttpRequest; // 给对象设置url地址 request -> setUrl("http://127.0.0.1/phptext.php"); // 必须把http://协议写上,但是cocos不支持http,这里需要改设置,下面会详细说 // 设置网络请求类型,get仅仅得到数据,post是发送表单数据 request -> setRequestType(cocos2d::network::HttpRequest::Type::GET); // 网络请求需要多线程,因为网络请求和网速有关, // 网络请求时候,对UI处理不受影响 // 发送数据 // ___________主线程______________> // ___网络请求__》 ———网络回执—————》 // 请求数据 // 把请求数据放在网络请求后,中间需要等待 // 连接到 数据请求之后调用的方法 // 第一个参数为网络请求的对象, 第二个参数为网络请求的回执,被打包成HttpResponse类型 request -> setResponseCallback([](cocos2d::network::HttpClient* sender, cocos2d::network::HttpResponse* response) { // 网络请求是否正常返回数据 if (!response -> isSucceed()) return; std::vector <char> *vec = response -> getResponseData(); std::string str(vec -> begin(), vec -> end()); cocos2d::log("读取:%s", str.c_str()); // 转成c语言字符串打印 // std::cout << str; }); // 找到cocos2d::network::HttpClient类的单例 -》 发送这个请求(把这个设置完的请求通过HttpClient唯一的对象发送出去) cocos2d::network::HttpClient::getInstance() -> send(request);
找到ios下的Icons下的Info.plist文件
点加号,加一项 App Transport Security Settings
点加号,加一项Allow Arbitrary Loads
把右边的NO改为YES即可
- Cocos网络访问
- Cocos网络访问——代理模式(2)
- cocos网络切换通知
- cocos creater 中访问节点和组件
- cocos creator 节点和组件的访问
- cocos-x 3.5 网络发送数据 post
- Cocos Creator 网络接口(摘自官方文档)
- cocos-js http网络请求XMLHttpRequest
- 有关于cocos js加载网络图片
- cocos-js Http方式网络请求
- cocos
- Cocos
- cocos
- cocos
- cocos
- cocos
- 网络访问
- Cocos网络篇[3.2](1)——网络基本概念
- 轻松学习正则表达式
- 优雅编程之这样使用工具,你就“正常”了(十三)
- 解决国内NPM安装依赖速度慢问题
- 仿360手机卫士的自定义波浪球形进度View
- 23种设计模式
- Cocos网络访问
- ceph存储 ceph源码中自定义PerfCounters添加步骤
- Hibernate(一)
- xUtils框架的应用
- Devcpp使用技巧
- JAVA四种引用方式
- 数据结构实验之栈三:后缀式求值
- Java之内部类
- POJ2377(最大生成树)