HTML 5之中一个很酷的新特性就是Web Sockets,在本文之前51CTO在《HTML 5 Web Socket:下一次Web通信革命揭幕》一文中已经详细的为大家介绍过HTML 5 Web Sockets为Web通信带来的改变,而本文将介绍通过PHP环境的服务器端运行Web Socket,创建客户端并通过Web Sockets协议发送和接收服务器端信息。
什么是Web Sockets?
Web Sockets是在一个(TCP)接口进行双向通信的技术,PUSH技术类型。同时Web Sockets仍将基于W3C标准,目前为止,Chrome和Safari的最新版本浏览器已经支持Web Sockets了。
Web Sockets将会替代什么?
Web Sockets可以替代Long Polling(PHP服务端推送技术),这是一个有趣的概念。客户端发送一个请求到服务器,现在,服务器端并不会响应还没准备好的数据,它会保持连接的打开状态直到最新的数据准备就绪发送,之后客户端收到数据,然后发送另一个请求。
这有它的好处:减少任一连接的延迟,当一个连接已经打开时就不需要创建另一个新的连接。但是Long-Polling并不是什么花俏技术,他仍有可能发生请求暂停,因此会需要建立新的连接。
一些Ajax应用使用上述技术-这经常是归因于低资源利用。试想一下,如果服务器在早晨会自启动并发送数据到那些希望接收而不用提前建立一些连接端口的客户端,这是一件多棒的事情啊!欢迎来到PUSH技术的世界!
第一步:搞定Web Socket服务器
文章会把更多的精力放在客户端的创建而不是服务器端的执行等操作。作者使用的是基于Windows 7的XAMPP来实现本地运行PHP。
启动Apache服务器
第二步:修改URLs和端口
根据你之前的安装修改服务器,下面是setup.class.php中的例子:
public function __construct($host='localhost',$port=8000,$max=100)
$this->createSocket($host,$port);
浏览文件并在适当情况下进行更改。
第三步:开始创建客户端
下面来创建基本模板,这是我的client.php文件:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<title>Web Sockets Client</title>
</head>
<body>
<div id="wrapper">
<div id="container">
<h1>Web Sockets Client</h1>
<div id="chatLog">
</div><!-- #chatLog -->
<p id="examples">e.g. try 'hi', 'name', 'age', 'today'</p>
<input id="text" type="text" />
<button id="disconnect">Disconnect</button>
</div><!-- #container -->
</div>
</body>
</html>
我们已经创建里基本模板:一个chat log容器,一个input输入框和一个断开连接的按钮。
- 大小: 65.7 KB
分享到:
相关推荐
此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份...
5. **Web Workers与Web sockets**:Web Workers可以在后台运行脚本,提高Web应用的响应速度。Web Sockets则提供了双向通信,实现实时应用如聊天室和在线游戏。 6. **响应式设计**:HTML5结合CSS3的媒体查询,实现了...
HTML5移动Web开发指南是一本由唐俊开编著的专业书籍,主要针对的是利用HTML5技术进行移动Web应用开发的领域。HTML5是超文本标记语言(HyperText Markup Language)的第五个重大版本,它的出现极大地提升了Web开发的...
Windows Sockets,通常简称为Winsock,是Microsoft Windows操作系统中实现网络通信的一种API(应用程序编程接口)。这个规范为开发者提供了一种标准化的方式来访问底层网络协议,如TCP/IP,使得跨平台开发成为可能。...
在本文中,我们将深入探讨Qt6中的QML网络设置,特别是关于Web Sockets的应用。Qt6是Qt框架的最新版本,提供了丰富的功能和性能优化,而QML是Qt的声明式用户界面语言,使得UI设计变得直观且高效。在Qt6 QML中,Web ...
HTML5的引入为Web开发者提供了许多新功能,例如离线存储、媒体元素、 canvas 绘图、svg矢量图、web workers和web sockets等,这些都极大地扩展了Web应用的可能性。但其中,地理定位API是移动开发领域的一个重要突破...
HTML5是下一代网页标准,它的出现极大地扩展了Web应用程序的功能,使得开发者能够创建出更加丰富、交互性更强的网页内容。这本书《HTML5&移动应用开发入门经典》旨在引导初学者进入HTML5的世界,理解其核心概念和...
### Windows Sockets 规范及应用 #### 一、引言 随着信息技术的快速发展,特别是互联网的普及,网络编程已经成为软件开发中不可或缺的一部分。在众多的网络编程接口中,Windows Sockets(简称Winsock)因其易用性和...
passenger-ruby-websocket-demo, 在Phusion上,web sockets演示 Phusion乘客的web sockets这个应用程序演示了 Phusion Passenger中的web socket支持。 乘客支持所有主流的现代网络技术,如网格网,完全脱离了盒子。 ...
websocket-stream, web sockets与节点流 API web socket流 使用 HTML5 使用节点流 API 。用法这里 MODULE 在支持 web sockets的节点或者浏览器中工作。 你可以使用 browserify 将这里 MODULE 打包为浏览器使用。va
plezi, Plezi用于实时网络应用程序,web sockets和 RESTful HTTP的ruby 框架 :一个实时web应用框架 microservices在你心里? 你梦见一个易于伸缩的SPA? 你是否想知道你是否可以以使用几行代码( 未包括业务逻辑) ...
### Windows Sockets 规范及应用 #### 一、引言 随着计算机网络技术的快速发展,特别是Windows操作系统和Internet的普及,网络编程成为了软件开发中不可或缺的一部分。在这样的背景下,《Windows Sockets 规范及...
此外,Web Workers和Web Sockets的引入,分别优化了后台多线程处理和实时双向通信,提高了Web应用的性能和响应速度。 HTML5的另一大亮点是其对移动设备的优化。考虑到智能手机和平板电脑的兴起,HTML5在设计时就...
spring-boot-axon-sample, 使用 Spring Boot,轴突,AngularJS和 web sockets的样例应用 Spring Boot 轴突样品简介这是一个示例应用,演示 Spring Boot ( 1.5. x ) 和轴突框架( 3.x ) 。Todo应用程序利用以下设计...
HTML5是下一代超文本标记语言,它为网页开发引入了许多新的功能和API,使得开发者能够构建更加丰富、交互性更强的Web应用。在移动设备上,HTML5的潜力尤其显著,因为它允许开发者通过浏览器访问设备的一些核心功能,...
5. Progressive Web App (PWA):结合HTML5特性,构建渐进增强的Web应用,提供接近原生应用的体验。 四、学习路径与实践建议 1. 先了解HTML5的基础语法和新特性,通过编写简单的网页进行实践。 2. 学习CSS3以美化...