WebSocket 入门 第二课(学习笔记)

上一笔记说道 想要连接远程服务器,需要一个新的websocket实例,并且需要为websocket提供一个URL,上一笔记最后的模拟到的小例子用到是 不是自己的URL。

此次介绍,在本地搭建一个server。

首先搭建本地的 websocket server 需要用nodeJS中的一个版块----nodejs-websocket.

这个版块是啥呢?

我也不知道,会会用就行。。。。。

怎么用呢?看下面 !!!!

首先,不用说我们要用到node,所以我就给自己建一个package.json方便。。。

1、npm init --->创建package.json

2、npm install nodejs-websocket --->安装nodejs-websocket模板

3、建立入口文件 ,与package.json一致

4、引入安装的nodejs-websocket模块

var ws = require("nodejs-websocket")

顺便总结一下常用的函数/事件:

ws.createServer 建立一个新的服务

ws.connect 返回一个新的connection对象,表示websocket客户端连接

server.listen 服务监听

server.close 服务关闭

事件:

Event: 'listening()' 事件监听 ,在调用server.listen后绑定服务器时发出

Event: 'close()' 服务器关闭时发出

Event: 'text(str)' 收到一串文字时发出

Event: 'error(errObj)' 发生错误时发出

Event: 'connection(conn)'成功建立新连接时(握手完成后)发出。conn是Connection的一个实例

5、用以上总结的函数/事件 创建一个服务,

var server = ws.createServer(functio (conn){

//参数 conn 就代表服务的连接

console.log("New connection")

})

 

6、监听这个服务,两种方法

一、    server.listen(8001)//8001 为端口号

二、 

         var server = ws.createServer(functio (conn){

         //参数 conn 就代表服务的连接

        console.log("New connection")

       }).listen(8001)//直接在回调函数监听

7、用事件实现 接收到一串小写字符串,返回大写字符串

var server = ws.createServer(functio (conn){

//参数 conn 就代表服务的连接

console.log("New connection")

//接收字符串

conn.on('text',function(str){

//返回处理后的字符串

conn.sendText(str.toUpperCase()+"!!!")

})

//服务关闭

conn.on("close", function (code, reason) {

console.log("Connection closed")

})

//服务报错监听

conn.on("error",function(err){

console.log("handle err",err)

})

}).listen(8001)

 

 

ok 用以上建立的本地服务代替上一次项目中他人的URL

 

代码整理:

//index.html

//注意WebSocket的URL已改为本地

简单小例子

 

// index.js 入口文件

var ws = require("nodejs-websocket")

 

var server = ws.createServer(functio (conn){

//参数 conn 就代表服务的连接

console.log("New connection")

//接收字符串

conn.on('text',function(str){

//返回处理后的字符串

conn.sendText(str.toUpperCase()+"!!!")

})

//服务关闭

conn.on("close", function (code, reason) {

console.log("Connection closed")

})

//服务报错监听

conn.on("error",function(err){

console.log("handle err",err)

})

}).listen(8001)

 

ok!!!!!

附上:GitHub上 对nodejs-websocket 的详细介绍

https://github.com/sitegui/nodejs-websocket#event-errorerr

 

看着学,看着用

 

你可能感兴趣的:(学习笔记,websocket)