Socket.io簡單入門筆記
- 本文通過學習他人部落格來寫的,此處貼上原文
-
- 1、Socket.io官網
- 2、什麼是Socket.io
- 3、Socket.io和WebSocket是什麼關系
- 4、Windows安裝Node.js Express Socket.io
- 5、Creator與伺服器通信測試
-
- (一)測試場景與creator版本:
- (2)用戶端腳本
- (三)服務端腳本
- (四)建立express和socket.io的連接配接
-
- 什麼是npm?
- 常見的使用場景有以下幾種:
- 開始操作:
- (五)啟動Creator的場景
- 服務端給出消息
本文通過學習他人部落格來寫的,此處貼上原文
點選【基于Cocos Creator+Socket.io的聯機對戰黑白棋(1)】——Socket.io簡單入門進入
1、Socket.io官網
http://socket.io/
2、什麼是Socket.io
Socket.io是一個實時通信的跨平台的架構
3、Socket.io和WebSocket是什麼關系
4、Windows安裝Node.js Express Socket.io
下載下傳Node.js
官網下載下傳最新版【點我進入】
5、Creator與伺服器通信測試
(一)測試場景與creator版本:
(2)用戶端腳本
cc.Class({
extends: cc.Component,
properties: {
},
// LIFE-CYCLE CALLBACKS:
onLoad() {
let socket = io.connect('127.0.0.1:4747');
socket.on('hello', (msg) => {
console.log(msg)
this.getComponent(cc.Label).string = msg;
});
},
start() {
},
// update (dt) {},
});
(三)服務端腳本
'use strict'
let app = require('express')();
let server = require('http').Server(app);
let io = require('socket.io')(server);
server.listen(4747,function(){
console.log('listening on 4747');
});
io.on('connection',function(socket){
console.log('someone connected');
socket.emit('hello','blog.csdn')
})
(四)建立express和socket.io的連接配接
什麼是npm?
npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安裝、解除安裝、管理依賴等), NPM是随同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,它是 Node 獲得成功的重要原因之一。
常見的使用場景有以下幾種:
允許使用者從NPM伺服器下載下傳别人編寫的第三方包到本地使用。允許使用者從NPM伺服器下載下傳并安裝别人編寫的指令行程式到本地使用。允許使用者将自己編寫的包或指令行程式上傳到NPM伺服器供别人使用。由于新版的nodejs已經內建了npm,是以之前npm也一并安裝好了。同樣可以通過輸入 “npm -v” 來測試是否成功安裝為啥我們需要一個包管理工具呢?因為我們在Node.js上開發時,會用到很多别人寫的JavaScript代碼。如果我們要使用别人寫的某個包,每次都根據名稱搜尋一下官方網站,下載下傳代碼,解壓,再使用,非常繁瑣。于是一個集中管理的工具應運而生:大家都把自己開發的子產品打包後放到npm官網上,如果要使用,直接通過npm安裝就可以直接用,不用管代碼存在哪,應該從哪下載下傳。更重要的是,如果我們要使用子產品A,而子產品A又依賴于子產品B,子產品B又依賴于子產品X和子產品Y,npm可以根據依賴關系,把所有依賴的包都下載下傳下來并管理起來。否則,靠我們自己手動管理,肯定既麻煩又容易出錯。
開始操作:
在服務端腳本存放位置打開cmd(shift+滑鼠右鍵,在目前位置打開指令行)
輸入:
npm link express
輸入:
npm link socket.io
以上兩條指令的作用是在目前路徑建立express和socket.io的連接配接(相當于快捷方式),因為我們一開始安裝他們的時候用的是-g指令(全局安裝),不能直接require,是以我們在需要的地方link一下相應的包就可以在相應路徑require
安裝包時也可以不帶-g,那樣就需要配置一下環境變量,才能全局通路他們,我更喜歡link的方式
輸入:
node hello-server.js