CocosCreator里如何实现http与WebSocket通信?

更新于
2026-09-26 11:50:32
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计545个文字,预计阅读时间需要3分钟。

CocosCreator里如何实现http与WebSocket通信?

目录

一、HttpGET

二、HTTPPOST

三、WebSocket

四、移动端Egret的http和WebSocket到Cocos Creator版本2.3.4

五、HttpGET

1. Get方式 2. 客户端请求本机地址3000端口,携带参数url和name 3. 服务器收到后返回n

目录
  • 一、HttpGET
  • 二、HTTPPOST
  • 三、WebSocket
  • 四、移植Egret的127.0.0.1:3000/?url=123&name=321"; //新建Http 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); } //初始化一个请求,GET方式,true异步请求 xhr.open("GET", url, true); //发送请求 xhr.send();

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

    nodejs服务端:

    var app = require('express')(); var 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 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服务端:

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

    CocosCreator里如何实现http与WebSocket通信?

    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完毕");

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

    nodejs端输出:

    四、移植Egret的http和websocket到cocos

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

    以上就是Cocos Creator 的Http和WebSocke的详细内容,更多关于Cocos Creator的资料请关注自由互联其它相关文章!

本文共计545个文字,预计阅读时间需要3分钟。

CocosCreator里如何实现http与WebSocket通信?

目录

一、HttpGET

二、HTTPPOST

三、WebSocket

四、移动端Egret的http和WebSocket到Cocos Creator版本2.3.4

五、HttpGET

1. Get方式 2. 客户端请求本机地址3000端口,携带参数url和name 3. 服务器收到后返回n

目录
  • 一、HttpGET
  • 二、HTTPPOST
  • 三、WebSocket
  • 四、移植Egret的127.0.0.1:3000/?url=123&name=321"; //新建Http 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); } //初始化一个请求,GET方式,true异步请求 xhr.open("GET", url, true); //发送请求 xhr.send();

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

    nodejs服务端:

    var app = require('express')(); var 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 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服务端:

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

    CocosCreator里如何实现http与WebSocket通信?

    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完毕");

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

    nodejs端输出:

    四、移植Egret的http和websocket到cocos

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

    以上就是Cocos Creator 的Http和WebSocke的详细内容,更多关于Cocos Creator的资料请关注自由互联其它相关文章!