国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 如何在CocosCreator中使用http和WebSocket

如何在CocosCreator中使用http和WebSocket

2022-03-03 17:06gamedaybyday js教程

這篇文章主要介紹了在Cocos Creator中使用的Http和WebSocket,對websocket感興趣的同學,一定要看下

CocosCreator版本2.3.4

一、HttpGET

Get方式,客戶端請求本機地址3000端口,并攜帶參數url和name,服務端收到后返回name參數。

cocos客戶端:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//訪問地址
let url = "http://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服務端:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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中

?
1
console.log(response);   //輸出為321

二、HTTPPOST

客戶端請求服務器,攜帶參數name,服務端收到后返回name。

cocos客戶端:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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服務端:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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輸出

?
1
console.log(response);  //輸出123

三、WebSocket

cocos客戶端代碼:

連接本地服務器127.0.0.1:8001,連接成功后發送一段字符串,并將接收的字符串打印

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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服務端:

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

以上就是Cocos Creator 的Http和WebSocke的詳細內容,更多關于Cocos Creator的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/gamedaybyday/p/13028559.html

延伸 · 閱讀

精彩推薦
  • js教程如何在CocosCreator中使用http和WebSocket

    如何在CocosCreator中使用http和WebSocket

    這篇文章主要介紹了在Cocos Creator中使用的Http和WebSocket,對websocket感興趣的同學,一定要看下...

    gamedaybyday6342022-03-03
  • js教程NestJs使用Mongoose對MongoDB操作的方法

    NestJs使用Mongoose對MongoDB操作的方法

    這篇文章主要介紹了NestJs使用Mongoose對MongoDB操作的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    ragga-time4112022-01-22
  • js教程微信小程序實現多行文字滾動效果

    微信小程序實現多行文字滾動效果

    這篇文章主要介紹了微信小程序實現多行文字滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Archer_yy5362022-02-19
  • js教程詳解javascript腳本何時會被執行

    詳解javascript腳本何時會被執行

    這篇文章主要介紹了詳解javascript腳本何時會被執行,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    皮卡丘和羊寶貝6792022-01-17
  • js教程JavaScript實現簡易加法計算器

    JavaScript實現簡易加法計算器

    這篇文章主要介紹了JavaScript實現簡易加法計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    小小小青臺3642022-02-22
  • js教程JS實現判斷對象是否為空對象的5種方法

    JS實現判斷對象是否為空對象的5種方法

    這篇文章主要介紹了JS實現判斷對象是否為空對象的5種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    Flavor_3802022-02-28
  • js教程通過幾行JavaScript就可以讀取電腦上的所有數據?

    通過幾行JavaScript就可以讀取電腦上的所有數據?

    通過幾行 JavaScript ,就可以讀取到電腦/手機上的所有數據,瀏覽器中的網頁可以讀取你所有的密碼,知道其他程序在干什么,這甚至不需要你寫出來的程序...

    code秘密花園4142022-03-01
  • js教程JavaScript實現篩選數組

    JavaScript實現篩選數組

    這篇文章主要為大家詳細介紹了JavaScript實現篩選數組,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    崇志廣勤7412022-01-25
主站蜘蛛池模板: 午夜在线视频 | 天天天操 | 久久久久久国产精品 | 色视频网| 国产欧美日韩一区二区三区 | 欧美一级二级视频 | 久久久国产一级 | 在线视频国产一区 | 婷婷激情五月 | 毛片免费观看视频 | 精品久久中文字幕 | 美女操av | 午夜久久久久久久久久一区二区 | 欧美亚洲一 | 91xxx在线观看 | 欧美一区二区三区在线视频 | 亚洲精品999 | 精品久久97| 免费a级毛片大学生免费观看 | 污视频免费网站 | 精品国产一区三区 | 精品小视频 | 高清一区二区三区 | 伊人久色 | 国产成人久久一区二区三区 | 日本涩涩视频 | 中文字幕视频二区 | 中文字幕在线精品 | bxbx成人精品一区二区三区 | 欧美一区免费 | 九一精品国产 | 国产激情一区二区三区成人免费 | 色日韩 | 国产精品区一区二区三区 | 久久久性色精品国产免费观看 | 国产乱码精品一区二区三 | 成人片免费看 | 狠狠干干干 | 国产精品美女久久久久久免费 | 九九国产| 欧美一级精品片在线看 |