国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

詳解 Cocos Creator 如何使用websocket

這篇具有很好參考價(jià)值的文章主要介紹了詳解 Cocos Creator 如何使用websocket。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

我在看B站cocos教程Cocos Creator零基礎(chǔ)小白超神教程P69集遇到socketio無(wú)法正常使用的問(wèn)題。經(jīng)過(guò)百度,才了解到現(xiàn)在cocos creator實(shí)現(xiàn)客戶端和服務(wù)器之間的雙向通信是通過(guò)WebSocket 協(xié)議。WebSocket 是一種非常常用的網(wǎng)絡(luò)通信協(xié)議,本文將詳細(xì)講解 Cocos Creator 如何使用 WebSocket,包括 WebSocket 的原理和 Cocos Creator 中的代碼實(shí)現(xiàn)。

服務(wù)端

1.下載node.js,node.js下載鏈接(windows版本)
cocos creator websocket,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
2.安裝node.js,打開(kāi)下載的安裝包,一直點(diǎn)next即可
cocos creator websocket,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
安裝完成后,在命令行中輸入

node -v

如果出現(xiàn)版本號(hào),說(shuō)明安裝成功.如果沒(méi)有出現(xiàn)版本號(hào),可能是環(huán)境變量沒(méi)有設(shè)置好,配置環(huán)境變量可以參考視頻Cocos Creator零基礎(chǔ)小白超神教程P67Socket
cocos creator websocket,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
3編寫服務(wù)端代碼,并以JavaScript格式保存在桌面

//JavaScript服務(wù)端
//myserver.js
const WebSocket = require('ws');

const server = new WebSocket.Server({ port: 30001 });
console.log( "server listen on 30001");
server.on('connection', (socket) => {
    console.log('New client connected!');

    socket.on('message', (message) => {
        console.log('Received message:', message);

        // 可以在此處處理收到的數(shù)據(jù)并發(fā)送回客戶端
        socket.send('Server reply: ' + message);
    });

    socket.on('close', () => {
        console.log('Client disconnected!');
    });
});

4切換目錄到桌面,運(yùn)行服務(wù)端程序,可以看到服務(wù)端成功運(yùn)行
cocos creator websocket,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
5創(chuàng)建新的cocos creator項(xiàng)目
6創(chuàng)建新節(jié)點(diǎn),新腳本(typescript),并且綁定,如圖所示,我為了看的清楚,我創(chuàng)建了new node1,new script(typeScript),new node1與圖片bg和腳本new script綁定
cocos creator websocket,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

6編寫客戶端代碼,代碼連接連接服務(wù)端,連接成功后再控制臺(tái)打印’WebSocket connected!',然后向服務(wù)端發(fā)送消息,鼠標(biāo)點(diǎn)擊節(jié)點(diǎn),客戶端可以繼續(xù)向服務(wù)端發(fā)送消息

//tpyescript
cc.Class({
    extends: cc.Component,

    properties: {
        serverURL: 'ws://localhost:30001',
        socket: null,
    },

    // 初始化 WebSocket 連接
    initWebSocketConnection() {
        this.socket = new WebSocket(this.serverURL);

        this.socket.onopen = (event) => {
            console.log('WebSocket connected!');
            // 可以在此處發(fā)送初始數(shù)據(jù)到服務(wù)器
            this.sendWebSocketData("hello");
        };

        this.socket.onmessage = (event) => {
            console.log('Received message:', event.data);
        };

        this.socket.onerror = (error) => {
            console.error('WebSocket error:', error);
        };

        this.socket.onclose = (event) => {
            console.log('WebSocket closed:', event);
        };
    },

    // 發(fā)送數(shù)據(jù)到服務(wù)器
    sendWebSocketData(data) {
        if (this.socket && this.socket.readyState === WebSocket.OPEN) {
            this.socket.send(data);
        }
    },

    // 關(guān)閉 WebSocket 連接
    closeWebSocketConnection() {
        if (this.socket) {
            this.socket.close();
        }
    },

    // 開(kāi)始時(shí)調(diào)用
    onLoad() {
        this.initWebSocketConnection();
    },

    start(){
        this.node.on(cc.Node.EventType.MOUSE_DOWN,(event)=>{
            this.onClickSendButton();
        });
    },

    // 點(diǎn)擊按鈕發(fā)送數(shù)據(jù)給服務(wù)器
    onClickSendButton() {
        let data = 'Hello, Server!';
        this.sendWebSocketData(data);
    },

    // 程序關(guān)閉時(shí)調(diào)用
    onDestroy() {
        this.closeWebSocketConnection();
    },
});

7運(yùn)行結(jié)果,可以看到雙方可以互相發(fā)送消息
cocos creator websocket,websocket,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-725683.html

到了這里,關(guān)于詳解 Cocos Creator 如何使用websocket的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Cocos Creator3.8 項(xiàng)目實(shí)戰(zhàn)(八)2D UI DrawCall優(yōu)化詳解(上)

    Cocos Creator3.8 項(xiàng)目實(shí)戰(zhàn)(八)2D UI DrawCall優(yōu)化詳解(上)

    游戲開(kāi)發(fā)的朋友都知道,在游戲開(kāi)發(fā)過(guò)程中,DrawCall 是我們優(yōu)化性能的一個(gè)非常重要的指標(biāo),直接影響游戲的整體性能表現(xiàn),DrawCall數(shù)量越多,幀率會(huì)降低,能明顯感覺(jué)到卡頓。 那今天我們就來(lái)聊一聊,2D UI DrawCall優(yōu)化方法。 本文的主要內(nèi)容: 什么是Draw call ? Draw Call 中造成

    2024年02月08日
    瀏覽(19)
  • Cocos creator(2d) 使用 shader + uv 實(shí)現(xiàn)單張圖片銜接滾動(dòng)效果

    Cocos creator(2d) 使用 shader + uv 實(shí)現(xiàn)單張圖片銜接滾動(dòng)效果

    在游戲中,當(dāng)我們需要讓背景圖片無(wú)縫銜接無(wú)限滾動(dòng)時(shí)(打飛機(jī)這種背景一直滾動(dòng),或者肉鴿游戲地圖一直在走等等),通常的做法是 在游戲中放兩個(gè)背景node,在update中控制這兩張背景圖片的移動(dòng),并讓其收尾銜接即可。(具體代碼忽略) 可是在肉鴿類游戲中,玩家的走向是全方

    2024年02月13日
    瀏覽(74)
  • Cocos Creator 3.x 熱更新,使用chatgpt快速定位解決問(wèn)題

    Cocos Creator 3.x 熱更新,使用chatgpt快速定位解決問(wèn)題

    使用 app 熱更的主要原因是可以快速地向用戶推送應(yīng)用程序的更新版本,同時(shí)也可以減少應(yīng)用程序更新時(shí)需要用戶手動(dòng)下載和安裝的次數(shù),從而提高用戶體驗(yàn)和應(yīng)用程序的可維護(hù)性。以下是一些使用 app 熱更的好處: 快速發(fā)布更新:熱更可以讓開(kāi)發(fā)人員快速地推送應(yīng)用程序的

    2024年02月06日
    瀏覽(22)
  • Cocos Creator3.8 項(xiàng)目實(shí)戰(zhàn)(二)cocos creator編輯器中綁定事件引發(fā)的bug解決

    問(wèn)題描述: 編輯器里面多個(gè)按鈕綁定同一個(gè)腳本,并配置事件,腳本中有其他消息監(jiān)聽(tīng),引起邏輯混亂。 問(wèn)題原因: 編輯器里面多個(gè)按鈕綁定同一個(gè)腳本, 每次綁定一個(gè)按鈕事件,就會(huì)導(dǎo)致加載一次腳本 ,如上綁定了多個(gè)按鈕的事件,腳本也就被加載多次,導(dǎo)致初始化接

    2024年02月07日
    瀏覽(39)
  • Cocos Creator問(wèn)題匯總

    [Window] Cannot read property ‘cameraPriority’ of null node.on(Node.EventType.TOUCH_END, this.onBlockClicked, this); 解決 :監(jiān)聽(tīng)的時(shí)候,node節(jié)點(diǎn)上必須有UITransform組件 Camera priority error - Cocos Creator - Cocos Forums 新建的prefab在運(yùn)行的時(shí)候ui不顯示,只能看到按鈕上的label文本內(nèi)容。 解決 :檢查是否有C

    2024年02月13日
    瀏覽(26)
  • Cocos Creator:AR 交互

    Cocos Creator:AR 交互

    推薦:將 NSDT場(chǎng)景編輯器

    2024年02月09日
    瀏覽(24)
  • FariyGUI × Cocos Creator 入門

    FariyGUI × Cocos Creator 入門

    程序員向的初探Cocos Creator結(jié)和FairyGUI的使用,會(huì)比較偏向FairyGUI一點(diǎn),默認(rèn)各位讀者都熟練掌握Cocos Creator以及js/ts腳本編寫。 初探門徑,歡迎大佬指教,歡迎在評(píng)論區(qū)或私信與本人交流,謝謝! 都不需要科學(xué)上網(wǎng),非常友好。 下載fgui:https://www.fairygui.com/ 下載Cocos Creator并安

    2024年02月22日
    瀏覽(31)
  • cocos creator踩坑記錄

    cocos creator踩坑記錄 removeFromParent 和removeAllChildren cocos2dx直接從父節(jié)點(diǎn)移除并回收內(nèi)存 creator 則只是從父節(jié)點(diǎn)移除,回收內(nèi)存則需要使用destory,creator 使用destroy并不會(huì)立即在父節(jié)點(diǎn)中移除該節(jié)點(diǎn),會(huì)延后執(zhí)行。 官方文檔地址 模擬器 Android APP點(diǎn)擊EditBox報(bào)錯(cuò) Function: JSB_showInputBo

    2024年02月15日
    瀏覽(21)
  • cocos creator 鼠標(biāo)畫筆|畫線

    cocos creator 鼠標(biāo)畫筆|畫線

    cocos creator 版本使用 至少適配版本2.3.2以上 案例: 簡(jiǎn)要思路:MOUSE_MOVE事件和Graphics組件實(shí)現(xiàn) 前端也可以通過(guò)canvas和mousemove事件實(shí)現(xiàn),原理一致 具體步驟如下: 1.添加節(jié)點(diǎn)Node 2.在Node節(jié)點(diǎn)上綁定 組件Graphics 3.添加下方腳本drawcontroll.ts 4.注意Node節(jié)點(diǎn)的錨點(diǎn)和位置(如果不想要這個(gè)

    2024年02月11日
    瀏覽(38)
  • cocos creator 節(jié)點(diǎn)的鏡像反轉(zhuǎn)

    自己在做橫版小游戲的時(shí)候,想左右運(yùn)動(dòng)時(shí)精靈圖直接旋轉(zhuǎn),但是一直搞不懂那個(gè)旋轉(zhuǎn),后面才發(fā)現(xiàn)2d情況下,旋轉(zhuǎn)時(shí)沒(méi)有z軸,就只能是原地轉(zhuǎn)圈上下顛倒,而想要鏡像反轉(zhuǎn)的話就需要開(kāi)啟3d模式了 如果是在編輯器上的話直接點(diǎn)擊左上角最右邊的3D按鈕就行了 如果是想在代碼

    2024年02月12日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包