js-权威指南-Web套接字

HTTP是一种无状态的协议,,由客户端请求和服务端响应组成。HTTP实际上是比较特殊的网络协议。

大多数基于因特网的网络连接通常包含长连接和基于TCP套接字的双向消息交换。让不信任的客户端脚本访问底层的TCP套接字是不安全的,但是WebSocket API定义了一种安全方案:它允许客户端代码在客户端和支持WebSocket协议的服务器端创建双向的套接字类型的连接。这让某些网络操作会变得更加简单。

WebSocket API通过WebSocket()构造函数创建一个套接字:

var socket = new WebSocket("ws://ws.example.com:1234/resource");

该构造函数的参数是一个URL,使用ws://协议或wss://协议。

创建了套接字之后,通常需要在上面注册一个事件处理程序:

socket.onopen = function(e) {/*套接字已经连接*/};
socket.onclose = function(e) {/*套接字已经关闭*/};
socket.onerror = function(e) {/*出错了*/};
socket.onmessage = function(e) {
    var message = e.data;/*服务器发送一条消息*/
};

为了通过套接字发送数据给服务器,可以调用套接字的send()方法:

socket.send("Hello,server!");

当完成和服务器的通信后,可以通过close()方法来关闭WebSocket。

WebSocket完全是双向的,并且一旦建立了WebSocket连接,客户端和服务端都可以在任何时候互相传递消息,与此同时,这种通信机制采用的不是请求和响应的形式。每个基于WebSocket的服务都要定义自己的“子协议”,用于在客户端和服务端传输数据。

时间: 2024-10-10 00:29:25

js-权威指南-Web套接字的相关文章

【vue.js权威指南】读书笔记(第一章)

最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.js不是一个框架-它只聚焦视图层,是一个用来构建数据驱动的Web界面的库.Vue.js通过简单的API来提供高校的数据绑定和灵活的组件系统 vue.js的特性 轻量级:体积非常小,而且不依赖其他基础库 数据绑定:对于一些富交互,状态机类似的前端UI界面,数据绑定非常简单,方便 指令:类似与AJ,可以使用v-*的

Vue.js权威指南

内容简介 Vue.js 是一个用来开发Web 界面的前端库.<Vue.js权威指南>致力于普及国内Vue.js 技术体系,让更多喜欢前端的人员了解和学习Vue.js.如果你对Vue.js 基础知识感兴趣,如果你对源码解析感兴趣,如果你对Vue.js 2.0感兴趣,如果你对主流打包工具感兴趣,如果你对如何实践感兴趣,<Vue.js权威指南>都是一本不容错过的以示例代码为引导.知识涵盖全面的最佳选择.<Vue.js权威指南>一共30 章,由浅入深地讲解了Vue.js 基本语

《JS权威指南学习总结--开始简介》

本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 简介 <JS权威指南学习总结--1.2客户端JS> 是:第二部分客户端JS 各章节重点 简介

JS权威指南读书笔记(四)

第十章 正则表达式 1 正则表达式直接量定义为包含在一对斜杠(/)之间的字符 a /s$/ == new RegExp("s$") 2 直接量字符:所有字母和数字都是按照字面含义进行匹配的,非字母的字符需要通过反斜线(\)作为前缀进行转义. 3 字符类:将直接量字符单独放进方括号内就组成了字符类.一个字符类可以匹配它所包含的任意字符. 转义符\b 具有特殊含义,当用在字符类中,它表示退格符,所以一个元素的字符类[\b]表示一个退格符. 4 重复 5 在待匹配的字符后跟随一个问号(?),

JS权威指南读书笔记(五)

第十三章 Web浏览器中的JavaScript 1 在Html文档中嵌入客户端4种JS代码方法 a 内联方式,放置在<script>标签之间 b 放置在<script>标签 src 属性指定的外部文件中 c 放置在HTML事件处理程序中 d 放置在URL中,"javascript:" 协议 2 在XHTML中,script标签中内容将被当做其他内容,如果JS代码包含了"<" 或 "&"字符,那么这些字符将被解

HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)

1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息. 但是cookie有下面几个问题: a:大小:cookies的大小被限制在4KB b:带宽:cookies随HTTP事务一起被发送,因此会浪费一部分发送的cookies时使用的带宽. c:复杂性:要正确的操纵cookies是很困难的. Web Storage分为两种: <1>sessionStorage 将数

《JS权威指南学习总结--8.7 函数属性、方法和构造函数》

内容要点:   在JS程序中,函数是值.对函数执行typeof运算会返回字符串 "function",但是函数是JS中特殊的对象.因为函数也是对象,它们也可以拥有属性和方法,就像普通的对象可以拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象. 一.length属性     在函数体内,arguments.length表示传入函数的实参的个数.    而函数本身的length属性则有着不同含义.函数length属性是只读属性,它代表函数实参的数量,这里的参数指

《JS权威指南学习总结--3.8类型转换》

JS数据类型转换方法主要有三种:          转换函数.强制类型转换.利用js变量弱类型转换. 一.转换函数          parseInt()和parseFloat()两个转换函数.          前者把值转换成整数,后者把值转换成浮点数.          只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number).          parseInt()判断:在判断字符串是否是数字值前,parseInt()和parseF

JS权威指南读书笔记(七)

第十七章 事件处理 1 客户端JS程序采用了异步事件驱动编程模型. 2 关于事件的重要定义 a 事件类型(event type) b 事件目标(event target) target === srcElement(IE8及之前版本) c 事件处理程序(event handler ) 当对象上注册的事件处理程序被调用时,可以说浏览器触发(fire trigger)和派发(dispatch)了事件: d 事件对象(event object) e 事件传播(event propagation)两种形