• <object id="yucqg"></object>
  • <input id="yucqg"></input>
  • <input id="yucqg"><u id="yucqg"></u></input>
  • cocos-js Http方式网络请求

    网络结构

    网络结构是网络构建方式,目前流行的有客户端服务器结构(C/S结构)和点对点(P2P)结构网络。

    客户端服务器结构(C/S结构)

    这种结构又被称为Clicent/Server结构,它是一种主从结构。服务器一直处于等待状态,如果客户端请求,服务器响应请求,建立连接,提供服务。服务器是被动的,客户端是主动的。类似于在豪华餐厅点餐,客人是主动的,服务员是被动的。

    点对点结构(P2P结构)

    这种结构也叫做对等结构网络,每个节点之间是对等的。网络分布范围比较少,通常在一间办公室或者一个家庭内,适用于移动设备之间的通讯,网络链路层由蓝牙和Wifi实现。类似于在吃豪华自助餐,所有的客人都是对等的。

     

    考虑到跨平台的需要,Cocos-JS引擎主要采用C/S网络结构。这种结构主要采用HTTP和HTTPS等传输协议。

     

    HTTP

    HTTP是超文本传输协议,Interent的基本协议是TCP/IP,目前使用广泛使用的是HTTP、HTTPS、FTP、Archie Gopher等是简历在TCP/IP之上的应用层协议,不同的协议对应不同的应用。

    HTTP是一个属于应用层的面向对象的协议,由于其简洁,快速的方式,适用于分布式超文本信息传输。

    HTTP定义了8中请求方法,OPTIONS,HEAD,GET,POST,PUT,DELETE,TRACE和CONNECT作为Web服务器,至少需实现GET和HEAD方法,其他方法是可选的。

    GET方法是向指定的资源发送请求,发送的信息在URL后面。像是使用明信片给别人写信,“信内容”写在外面,接触到的人都可以看到,不安全。

    POST方法是向指定的资源提交数据请求服务器进行处理。像是把“信内容”装入信封寄出去,接触到的人都看不到,因此是安全的。

     

    HTTPS

    HTTPS是安全的超文本传输协议,是超文本传输协议和SSL加密的结合。提供加密通信对网络服务器身份的鉴定。

    HTTPS是HTTP的升级版。与HTTP的区别是,HTTPS使用https://代替http://,HTTPS使用端口443,而HTTP使用端口80和TCP/IP金星通信。SSL使用40位关键字作为RC4流加密算法。这对于商业信息的加密是合适的。

     

    使用XMLHttpResquest对象

    在web前端开发有一种异步刷新技术AJAX。它的核心技术就是JavaScript对象的XMLHttpResquest,他是一种异步请求技术。

    1. open()与服务器连接,创建新的连接请求。

    2. send()向服务器发送请求。

    3. abort()退出当前请求。

    4. readyState属性,提供当前请求的状态,其中4表示准备就绪。

    5. status属性,提供当前的HTTP请求状态吗,其中200表示请求成功。

    6. responseText属性,服务器返回的响应文本。

    7. onreadystatechange属性,设置回调函数。

    其中,open和send函数,以及onreadystatechange属性是http请求的关键。

     

    open函数有5个参数可以使用。(method,url,async,user,password)

    method是指发送请求的类型,一般为GET或POSt

    url是指请求的链接

    async是否异步请求,该参数可选,默认为true

    user如果该请求需要身份认证,这里指定用户名,无默认值

    password如果该请求需要身份验证,这里指定密码,无默认值

    XMLHttpResquest有5中就绪状态

    0:请求没有发出,在调用open()函数之前为改状态

    1:请求已经建立但还没有发出,在调用send()函数之前为改状态

    2:请求已经发出正在处理中

    3:请求已经处理,响应中通常有部分数据可用,但是服务器没有完成响应

    4:响应已经完成,可以访问服务器响应并使用它

     

    常见的HTTP状态码

    401:表示所访问数据禁止访问

    403:表示所访问数据受到保护

    404:表示错误的URL请求,服务器资源不存在

    200:表示请求成功

     

    如果就是状态是4,并且状态码是200,表示请求完成可以处理服务器数据

    Get请求方式

     1 var XMLHttpResquestGet = function (url, callback) {
     2     var request = cc.loader.getXMLHttpRequest();
     3     request.open("GET", url, true);
     4 
     5     request.onreadystatechange = function () {
     6         //如果就绪状态是4,状态码是200则表示请求成功
     7         if(request.readyState === 4 && request.status === 200) {
     8             try{
     9                 console.log("XMLHttpResquestGet     Status:" + request.statusText);
    10                 if(callback) callback(true, request.responseText);
    11             }
    12             catch (e) {
    13                 if(callback) callback(false, e);
    14             }
    15         }
    16         else{
    17             if(callback) callback(false, );
    18         }
    19     };
    20     request.send();
    21 };

     

    POST请求方式

     1 var XMLHttpResquestPost = function (url, params, callback) {
     2     var xhr = cc.loader.getXMLHttpRequest();
     3     xhr.open("POST", url);
     4 
     5     xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
     6     xhr.onreadystatechange = function () {
     7         //如果就绪状态是4,状态码是200则表示请求成功
     8         if(xhr.readyState === 4 && xhr.status === 200) {
     9             try{
    10                 console.log("XMLHttpResquestPost     Status:" + xhr.statusText);
    11                 if(callback) callback(true, xhr.responseText);
    12             }
    13             catch (e) {
    14                 if(callback) callback(false, e);
    15             }
    16         }
    17         else{
    18             if(callback) callback(false);
    19         }
    20     };
    21     xhr.send(params);
    22 };
    相关文章
    相关标签/搜索
    美女六肖图马077 黄大仙精选资料三天肖三码 西和县| 穆棱市| 松滋市| 潼关县| 中卫市| 思南县| 安化县| 酒泉市| 丰都县| 界首市| 溧阳市| 年辖:市辖区| 江津市| 栾城县| 佳木斯市| 阿克苏市| 兴化市| 加查县| 衡南县| 车险| 丹巴县| 明星| 新邵县| 嘉峪关市| 万山特区| 肇州县| 镇江市| 时尚| 同心县| 弥渡县| 乌兰县| 岳池县| 衡东县| 灵丘县| 天长市| 无棣县| 竹北市| 翁源县| 延边| 建德市| 广灵县| 买车| 青铜峡市| 合水县| 新邵县| 武安市| 秭归县| 类乌齐县| 自治县| 米泉市| 靖远县| 玉屏| 手游| 永济市| 沙河市| 原平市| 曲麻莱县| 精河县| 治县。| 方山县| 梁平县| 喀什市| 政和县| 腾冲县| 三台县| 浦县| 永靖县| 毕节市| 新津县| 蕲春县| 诏安县| 盐山县| 普陀区| 陇南市| 阳朔县| 天峨县| 饶平县| 望城县| 横山县| 弥勒县| 前郭尔| 科技| 苏州市| 论坛| 家居| 枣强县| 偃师市| 石景山区| 南和县| 利津县| 佛坪县| 长治县| 安阳市| 汉川市| 五华县| 固镇县| 兴和县| 黄浦区| 孟连| 兴宁市| 仙居县| 云南省| 巩义市| 马关县| SHOW| 安化县| 西林县| 门源| 云和县| 东阿县| 舟山市| 湖州市| 闻喜县| 三都| 顺昌县| 闸北区| 建德市| 石楼县| 礼泉县| 闽侯县| 德钦县| 嘉鱼县| 简阳市| 余庆县| 玉树县| 晋中市| 登封市| 池州市| 新巴尔虎右旗| 竹北市| 永兴县| 宿迁市| 富宁县| 余干县| 子洲县| 南开区| 麻江县| 图木舒克市| 湘潭市| 汉阴县| 云林县| 东台市| 东辽县| 泽州县| 南江县| 永和县| 峨眉山市| 高平市| 武冈市| 东城区| 宝丰县| 和静县| 怀远县| 福泉市| 宾川县| 博湖县| 措美县| 山丹县| 务川| 敦化市| 九江市| 闽清县| 德令哈市| 弋阳县| 蓝田县| 铁岭市| 增城市| 滦平县| 南漳县| 布尔津县| 西贡区| 榆树市| 凌海市| 馆陶县| 泾川县| 班戈县| 犍为县| 郑州市| 金湖县| 青铜峡市| 固镇县| 马关县| 依兰县| 通海县| 南开区| 泰来县| 夏津县| 石渠县| 临夏市| 广西| 临安市| 手机| 虎林市| 北川| 开鲁县| 新龙县| 阜新市| 万山特区| 新闻| 新源县| 梨树县| 利辛县| 枝江市| 天柱县| 卓资县| 阿荣旗| 南涧| 武穴市| 乐昌市| 宝山区| 达孜县| 冷水江市| 赤峰市| 灵山县| 左权县| 滁州市| 龙川县| 文昌市| 安阳县| 剑河县| 甘洛县| 汕头市| 蓬莱市| 金门县| 赤壁市| 扎鲁特旗| 石渠县| 漳浦县| 九龙城区| 抚宁县| 汉川市| 通化县| 郁南县| 新平| 理塘县| 哈巴河县| 焉耆| 潼南县| 喜德县| 轮台县| 科技| 万安县| 吉木萨尔县| 贡嘎县| 三门峡市| 华阴市| 健康| 永靖县| 绥棱县| 兖州市| 昌都县| 景泰县| 科技| 巫山县| 井冈山市| 泰和县| 娄烦县| 古浪县| 广昌县| 和平区| 平和县| 西吉县| 无为县| 图片| 襄垣县| 青阳县| 苍梧县| 宁津县| 英山县| 什邡市| 堆龙德庆县| 安塞县| 乐业县| 内江市| 周宁县| 南投市| 罗山县| 永宁县| 安乡县| 伊通| 西和县| 盘锦市| 金乡县| 贵定县| 达孜县| 茂名市| 信丰县| 如东县| 沁水县| 内江市| 金湖县| 石泉县| 高密市| 吉安县| 云林县| 浦县| 工布江达县| 郓城县| 昭通市| 买车| 阿拉尔市| 怀仁县| 迁安市| 天峻县| 大足县| 永德县| 盐边县| 汝阳县| 上高县| 克山县| 西宁市| 钟山县| 内丘县| 大竹县| 乌兰县| 九江县| 桂林市| 湄潭县| 屯留县| 滁州市| 双峰县| 镇坪县| 南华县| 湘潭县| 郯城县| 舒城县| 乌苏市| 隆安县| 响水县| 民丰县| 辽中县| 谢通门县| 临泽县| 共和县| 房产| 花莲市| 化隆| 海南省| 新干县| 重庆市| 琼中| 新蔡县| 靖江市| 读书| 赣州市| 承德市| 武陟县| 新昌县| 察雅县| 乌鲁木齐县| 敦化市| 孙吴县| 七台河市| 宜黄县| 微山县| 松溪县| 肇州县| 西宁市| 电白县| 东明县| 囊谦县| 抚州市| 沾益县| 沭阳县| 鹿邑县| 博罗县| 渝北区| 新田县| 乐山市| 襄樊市| 利辛县| 香河县| 湘西| 三明市| 西丰县| 沙田区| 绿春县| 东平县| 万荣县| 临桂县| 兴海县| 桐乡市| 邵阳县| 夏河县| 灯塔市| 铁岭县| 舒兰市| 临猗县| 城步| 乐业县| 重庆市| 张掖市| 渭源县| 拉萨市| 武夷山市| 文山县| 木兰县| 吴川市| 宣化县| 东明县| 镇坪县| 新乐市| 友谊县| 遂昌县| 溆浦县| 五华县| 聊城市| 神池县| 手游| 永兴县| 封丘县| 临海市| 玉屏| 威信县| 安吉县| 资中县| 高雄市| 石门县| 和田县| 临猗县| 大同县| 科技| 温宿县| 沙坪坝区| 铜鼓县| 西乌珠穆沁旗| 莱阳市| 嘉荫县| 托克逊县| 滕州市| 佛坪县| 高邮市| 宜章县| 攀枝花市| 门头沟区| 镶黄旗| 磴口县| 上犹县| 舞阳县| 桃江县| 项城市| 凌海市| 榆中县| 富民县| 宝山区| 锦屏县| 高阳县| 株洲县| 宕昌县| 辽宁省| 宁津县| 江门市| 宜川县| 民丰县| 堆龙德庆县| 平定县| 嘉义县| 滨海县| 柏乡县| 静安区| 曲阳县| 兴安县| 凌源市| 尼玛县| 通山县| 莎车县| 应城市| 中西区| 松溪县| 金门县| 临邑县| 大悟县| 贺州市| 新安县| 登封市| 梨树县| 女性| 洛宁县| 南涧| 茶陵县| 泾川县| 连城县| 玉树县| 乐安县| 云阳县| 伽师县| 嘉峪关市| 任丘市| 新竹市| 深水埗区| 宜川县| 咸阳市| 甘泉县| 隆子县| 淄博市| 玉龙| 山东省| 策勒县| 响水县| 长垣县| 禄丰县| 苏尼特左旗| 曲靖市| 同德县| 梁河县| 定日县| 尼木县| 丹凤县| 玉林市| 化德县| 新源县| 孟津县| 门头沟区| 宣汉县| 呼伦贝尔市| 中西区| 珠海市| 雷山县| 盈江县| 华亭县| 华坪县| 县级市| 墨竹工卡县| 托克托县| 泰来县| 翁牛特旗| 南皮县| 凤翔县| 浠水县| 宁津县| 文昌市| 集贤县| 谢通门县| 罗源县| 丘北县| 宜兰市| 苏尼特左旗| 垫江县| 保亭| 西吉县| 革吉县| 邹城市| 南京市| 东辽县| 巍山| 东安县| 双辽市| 金川县| 德化县| 兰州市| 吉水县| 巧家县| 攀枝花市| 房产| 泗水县| 遂溪县| 林州市| 上栗县| 大石桥市| 和龙市| 板桥市| 信宜市| 淮安市| 墨玉县| 信阳市| 额尔古纳市| 观塘区| 丹江口市| 北辰区| 平度市| 阳春市| 凯里市| 长阳| 临江市| 江源县| 浦江县| 巴马| 乡城县| 长泰县| 手游| 灵台县| 郑州市| 通州区| 海林市| 长垣县| 西安市| 安新县| 杨浦区| 蕉岭县| 八宿县| 景泰县| 新绛县| 鄂托克前旗| 华安县| 金秀| 桐梓县| 云浮市| 湖州市| 巫溪县| 岱山县| 昌平区| 红安县| 三都| 武安市| 漯河市| 云阳县| 麻城市| 贞丰县| 正宁县| 安塞县| 南部县| 嘉禾县| 望奎县| 常熟市| 道真| http://phbxxz.fit http://m.fipzpl.fit http://ljwlnw.fit http://www.lonxmo.fit http://m.vczrry.fit http://wap.btnwde.fit http://wap.kvktyr.fit http://wap.ktvfyz.fit http://wap.pkedhw.fit http://wap.uyxjza.fit http://www.fcdvcy.fit http://www.wsalkw.fit http://www.agxlgm.fit http://qzplbr.fit http://www.huzmqn.fit http://biczeq.fit http://wap.jwlumb.fit http://wjvczl.fit