iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在CocosCreator中使用http和WebSocket
  • 693
分享到

怎么在CocosCreator中使用http和WebSocket

2023-06-14 13:06:25 693人浏览 薄情痞子
摘要

这篇文章主要介绍了怎么在CocosCreator中使用Http和websocket,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CocosCreator版本2.3.4一、Ht

这篇文章主要介绍了怎么在CocosCreator中使用Httpwebsocket,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

CocosCreator版本2.3.4

一、HttpGET

Get方式,客户端请求本机地址3000端口,并携带参数url和name,服务端收到后返回name参数。

cocos客户端:

//访问地址let url = "http://127.0.0.1:3000/?url=123&name=321";//新建Httplet xhr = new XMLHttpRequest();//接收数据xhr.onreadystatechange = function () {    if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {        var response = xhr.responseText;        console.log(response);    }};//错误处理xhr.onerror = function(evt){    console.log(evt);}//初始化一个请求,GET方式,true异步请求xhr.open("GET", url, true);//发送请求xhr.send();

为了方便测试,在本机用nodejs搭建一个简易服务器,在收到访问后,返回请求参数中的name值。

nodejs服务端:

var app = require('express')(); var http = require('http').Server(app);    app.get('/', function(req, res){     //设置允许跨域的域名,*代表允许任意域名跨域    res.header("Access-Control-Allow-Origin","*");    //允许的header类型    res.header("Access-Control-Allow-Headers","content-type");    //跨域允许的请求方式    res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");    res.send(req.query.name); });    http.listen(3000, function(){     console.log('listening on *:3000'); });

运行nodejs的服务器,并运行cocos代码,cocos中

console.log(response);   //输出为321

二、HTTPPOST

客户端请求服务器,携带参数name,服务端收到后返回name。

cocos客户端:

let url = "http://127.0.0.1:3000/";let xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () {    if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {        var response = xhr.responseText;        console.log(response);    }};xhr.onerror = function(evt){    console.log(evt);}xhr.open("POST", url, true);xhr.setRequestHeader("Content-Type", "application/x-www-fORM-urlencoded");xhr.send("name=123");

nodejs服务端:

var app = require('express')(); var http = require('http').Server(app);  var querystring = require('querystring');  app.post('/', function(req, res){     //设置允许跨域的域名,*代表允许任意域名跨域    res.header("Access-Control-Allow-Origin","*");    //允许的header类型    res.header("Access-Control-Allow-Headers","content-type");    //跨域允许的请求方式    res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");         var body = "";         req.on('data', function (chunk) {        body += chunk;  //一定要使用+=,如果body=chunk,因为请求favicon.ico,body会等于{}        console.log("chunk:",chunk);    });         req.on('end', function () {        body = querystring.parse(body);        console.log("body:",body);        res.send(body.name);    });});    http.listen(3000, function(){     console.log('listening on *:3000'); });

cocos输出

console.log(response);  //输出123

三、WEBSocket

cocos客户端代码:

连接本地服务器127.0.0.1:8001,连接成功后发送一段字符串,并将接收的字符串打印

let ws = new WebSocket("ws://127.0.0.1:8001");ws.onopen = function (event) {    console.log("Send Text WS was opened.");};ws.onmessage = function (event) {    console.log("response text msg: " + event.data);};ws.onerror = function (event) {    console.log("Send Text fired an error");};ws.onclose = function (event) {    console.log("WebSocket instance closed.");}; setTimeout(function () {    if (ws.readyState === WebSocket.OPEN) {        console.log("WebSocket start send message.");        ws.send("Hello WebSocket, I'm a text message.");    }    else {        console.log("WebSocket instance wasn't ready...");    }}, 3000);

nodejs服务端:

接收字符串成功后,打印接收的数据,并返回一段字符串。

var ws = require("nodejs-websocket");  console.log("开始创建websocket");var server = ws.createServer(function(conn){    console.log("连接成功");    conn.on("text", function (obj) {       console.log("接收:",obj);        conn.send("message come from server");                   })    conn.on("close", function (code, reason) {        console.log("关闭连接")    });    conn.on("error", function (code, reason) {        console.log("异常关闭")    });}).listen(8001)console.log("开始创建websocket完毕");

测试结果,客户端浏览器输出:

怎么在CocosCreator中使用http和WebSocket

nodejs端输出:

怎么在CocosCreator中使用http和WebSocket

四、移植Egret的http和websocket到cocos

因为cocos没有封装工具类,所以直接从Egret移植http和websocket到cocos中使用,还算方便。

怎么在CocosCreator中使用http和WebSocket

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么在CocosCreator中使用http和WebSocket”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 怎么在CocosCreator中使用http和WebSocket

本文链接: https://www.lsjlt.com/news/271155.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在CocosCreator中使用http和WebSocket
    这篇文章主要介绍了怎么在CocosCreator中使用http和WebSocket,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CocosCreator版本2.3.4一、Ht...
    99+
    2023-06-14
  • 如何在CocosCreator中使用http和WebSocket
    目录一、HttpGET二、HTTPPOST三、WebSocket四、移植Egret的http和websocket到cocosCocosCreator版本2.3.4 一、HttpGET...
    99+
    2024-04-02
  • 怎样在CocosCreator中使用游戏手柄
    目录一.场景布置二. 添加手柄监听器1.监听事件的变化2.坐标设定3. 将手柄限制在托盘内三. 添加小车的控制1. 小车的旋转2. 小车的移动一.场景布置 二. 添加手柄监听器 ...
    99+
    2024-04-02
  • 怎么在HTML5中使用WebSocket协议
    怎么在HTML5中使用WebSocket协议?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。WebSocket介绍传统的http也是一种协议,WebSocket是...
    99+
    2023-06-09
  • 如何在CocosCreator中使用JSZip压缩
    CocosCreator版本:2.4.2 jszip的实际项目应用 游戏中有大量配置的情况下,文件会变得非常大,所以有些游戏会采用zip包压缩解压 例如如下游戏,将游戏配置confi...
    99+
    2024-04-02
  • 在Java中使用WebSocket
    如果您觉得本博客的内容对您有所帮助或启发,请关注我的博客,以便第一时间获取最新技术文章和教程。同时,也欢迎您在评论区留言,分享想法和建议。谢谢支持! 一、  简介 1.1 什么是WebSocket WebSocket是一种协议,用于...
    99+
    2023-09-02
    java websocket 网络协议
  • HTTP Client怎么在IDEA中使用
    今天就跟大家聊聊有关HTTP Client怎么在IDEA中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。介绍IDEA RESTful WebServices是一个类似jmeter...
    99+
    2023-06-06
  • 怎样在CocosCreator中使用物理引擎关节
    目录mousejoint鼠标关节distanceJoint距离关节motorjoint马达关节prismaticJoint位移关节revoluteJoint旋转关节ropeJoint...
    99+
    2024-04-02
  • django中websocket怎么使用
    本文小编为大家详细介绍“django中websocket怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“django中websocket怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。websock...
    99+
    2023-06-28
  • vue中怎么使用websocket
    这篇文章主要介绍“vue中怎么使用websocket”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中怎么使用websocket”文章能帮助大家解决问题。1. 在utils下新建websocke...
    99+
    2023-06-29
  • 怎么使用CocosCreator对象池
    本篇文章给大家分享的是有关怎么使用CocosCreator对象池,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体操作第一步:准备好 Prefab把你想要创建的节点事先设置好并...
    99+
    2023-06-14
  • 如何在CocosCreator中使用游戏手柄
    这篇文章主要介绍了如何在CocosCreator中使用游戏手柄,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.场景布置2. 添加手柄监听器1.监听事件的变化由原先的mous...
    99+
    2023-06-14
  • 怎么在Node.js中使用http模块
    这篇文章将为大家详细讲解有关怎么在Node.js中使用http模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。HTTP协议要理解Web服务器程序的工作原理,首先,我们要对HTTP协议有基本...
    99+
    2023-06-14
  • SpringBoot中怎么使用WebSocket
    在Spring Boot中使用WebSocket可以通过以下步骤实现: 首先添加WebSocket依赖: 在pom.xml文件中添...
    99+
    2024-03-07
    SpringBoot WebSocket
  • 在安卓中使用WebSocket
    一、简介 WebSocket是一种在Web浏览器和服务器之间进行实时双向通信的协议。与传统的HTTP请求-响应模型不同,WebSocket允许服务器主动向客户端推送数据,而不需要客户端发起请求。当然,发展到如今,WebSocket已经不再局...
    99+
    2023-09-03
    websocket 网络 android
  • 怎么在Django中使用channels和websocket实现一个在线聊天室
    本篇文章为大家展示了怎么在Django中使用channels和websocket实现一个在线聊天室,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Channels是Django团队研发的一个给Djan...
    99+
    2023-06-15
  • 怎么在CocosCreator中模块化脚本
    怎么在CocosCreator中模块化脚本?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Cocos Creator模块化脚本Cocos Creator 允许你将...
    99+
    2023-06-14
  • 如何在HTML5中使用WebSocket
    本篇文章给大家分享的是有关如何在HTML5中使用WebSocket,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。客户端代码:<html><head>&l...
    99+
    2023-06-09
  • 在Asp.netcore项目中使用WebSocket
    今天小试了一下在Asp.net core中使用websocket,这里记录一下: 在 Startup 类的 Configure 方法中添加 WebSocket 中间件。 app.Us...
    99+
    2024-04-02
  • http请求怎么在spring boot中使用
    今天就跟大家聊聊有关http请求怎么在spring boot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先是经过封装:一:初始化httpclientprivate ...
    99+
    2023-05-30
    springboot http
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作