摘要:
Websocket协议是为了解决web即时应用中服务器与客户端浏览器全双工通信的问题而设计的,是完全意义上的Web应用端的双向通信技术,可以取代之前使用半双工HTTP协议而模拟全双工通信,同时克服了带宽和访问速度等的诸多问题。协议定义为ws和wss协议,分别为普通请求和基于SSL的安全传输,占用端口与http协议系统,ws为80端口,wss为443端口,这样可以支持HTTP代理。协议包含两个部分,第一个是“握手”,第二个是数据传输。一、Websocket URI定义的两个协议框架ws和wss与http类似,而且各自部分的要求也是在HTTP协议中使用的一样,各自的URI如下:ws-URI = & 阅读全文
阅读排行榜
Websocket协议之php实现
2014-03-11 09:34 by OshynSong, 4107 阅读, 收藏,
摘要:
前面学习了HTML5中websocket的握手协议、打开和关闭连接等基础内容,最近用php实现了与浏览器websocket的双向通信。在学习概念的时候觉得看懂了的内容,真正在实践过程中还是会遇到各种问题,网上也有一些关于php的websocket的实现,但是只有自己亲手写过之后才知道其中的感受。其中,google有一个开源的phpwebsocket类(https://code.google.com/p/phpwebsocket/),但是从其握手过程中可以明显看出,这还是最初的websocket协议,请求头中使用了两个KEY,并非version 13(现行版本)。下面是本人实践过程,同时封装好了 阅读全文
Websocket协议数据帧传输和关闭连接
2014-03-07 00:52 by OshynSong, 3631 阅读, 收藏,
摘要:
之前总结了关于Websocket协议的握手连接方式等其他细节,现在对socket连接建立后的数据帧传输和关闭细节总结。一、数据帧格式数据传输使用的是一系列数据帧,出于安全考虑和避免网络截获,客户端发送的数据帧必须进行掩码处理后才能发送到服务器,不论是否是在TLS安全协议上都要进行掩码处理。服务器如果没有收到掩码处理的数据帧时应该关闭连接,发送一个1002的状态码。服务器不能将发送到客户端的数据进行掩码处理,如果客户端收到掩码处理的数据帧必须关闭连接。基本的数据帧为一个opcode、一个payload长度和发送的应用数据,根据ABNF的定义,详细信息如下图这里使用的是数据存储的位(bit),当进 阅读全文
C#多线程(一)
2014-03-27 16:49 by OshynSong, 3043 阅读, 收藏,
摘要:
一、定义与理解1、定义线程是操作系统分配CPU时间片的基本单位,每个运行的引用程序为一个进程,这个进程可以包含一个或多个线程。线程是进程中的执行流程,每个线程可以得到一小段程序的执行时间,在单核处理器中,由于切换线程速度很快因此感觉像是线程同时允许,其实任意时刻都只有一个线程运行,但是在多核处理器中,可以实现混合时间片和真实的并发执行。但是由于操作系统自己的服务或者其他应用程序执行,也不能保证一个进程中的多个线程同时运行。线程被一个CLR委托给操作系统的进程协调函数管理,确保所有线程都可以被分配适当的执行时间,同时保证在等待或阻止的线程不占用执行时间。2、理解线程与进程的关键区别是:进程是彼此 阅读全文
即时Web通信总结
2014-02-24 21:57 by OshynSong, 2630 阅读, 收藏,
摘要:
即时Web通信在一些对数据实时性要求特别严格的应用中十分重要,如监控系统、报价系统、股票交易系统和即时在线聊天应用等,由于http协议设计当初是为了服务器端响应客户端的请求而设计的,只能在客户端主动发送请求后进行处理然后返回结果。为了实现上述各种即时应用的功能,出现了一系列“Hack”的手段来模拟实现服务器端主动推送信息的功能,也就是模拟了服务器和客户端直接全双工的通信。这样主要考虑的是如下问题:客户端如何接收、处理信息,是否需要使用套接口或是使用远程调用。客户端呈现给用户的是 HTML 页面还是 Java applet 或 Flash 窗口。如果使用套接口和远程调用,怎么和 JavaScri 阅读全文
浙公网安备 33010602011771号