Websocket详细讲解(基础篇二)

在上一篇文章当中介绍了一下websocket是什么和产生原因以及和http协议的区别,我们今天来讨论一下websocket中的客户端和服务端程序。

1.websocket中的API

我们看一下就websocket JavaScript定义的接口:

[Constructor(in DOMString url, optional in DOMString protocol)]
interface WebSocket {
   
   readonly attribute DOMString URL;
   // ready state
   const unsigned short CONNECTING = 0;
   const unsigned short OPEN = 1;
   const unsigned short CLOSED = 2;
   readonly attribute unsigned short readyState;
   readonly attribute unsigned long bufferedAmount;
 
   // networking
   attribute Function onopen;
   attribute Function onmessage;
   attribute Function onclose;
   boolean send(in DOMString data);
   void close();
};
WebSocket implements EventTarget;

既然是一个协议就是要有客户端和服务端,服务端每种语言有自己的API
websocket的作用已经完全可以代替ajax,客户端API和ajax十分相似下面我们来具体的介绍一下:

  1. onopen,表示和服务器建立链接,建立连接之后才能进入下面的步骤,这个对应于ajaxopen方法
  2. send,想用户服务器发送数据,对应于ajax的send方法
  3. onmessage,建立连接之后,客户端收到服务器发来的数据,这个而对应ajax的responseText
  4. onerror,当连接出现错误的时候,接收错误信息,这个ajax里面没有
  5. onclose,监听消息的关闭,当连接结束的时候出发,这个ajax里面没有
  6. close,主动关闭socket连接
    再来介绍一下ready state表示的四种状态(ajax中是五种)
  • CONNECTING (0):表示还没建立连接;
  • OPEN (1): 已经建立连接,可以进行通讯;
  • CLOSING (2):通过关闭握手,正在关闭连接;
  • CLOSED (3):连接已经关闭或无法打开;

2.客户端的websocket

2.1 websocket实例

介绍完了API我们就要用这些API去做一些事情,下面我们通过一个实例来应用一下这些方法

var serverAddr =  'ws://localhost:3000';
// 创建一个Socket实例
    
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值