第六步:JavaScript
首先我们将代码放到jQuery 的 document.ready函数中,然后我们还要检查用户的浏览器是否支持Web Socket。如果不支持,我们就添加一个链向Chrome浏览器页面的链接。
$(document).ready(function() {
if(!("Web Socket" in window)){
$('#chatLog, input, button, #examples').fadeOut("fast");
$('<p>Oh no, you need a browser that supports Web Sockets. How about <a href="http://www.google.com/chrome">Google Chrome</a>?</p>').appendTo('#container');
}else{
//The user has Web Sockets
connect();
function connect(){
//the connect function code is below
}
});
如你所见,如果用户浏览器支持Web Socket,我们将执行connect()函数。这里是核心功能,我们将开始创建open、close和receive事件。我们将在我们的服务器定义URL。
var socket;
var host = "ws://localhost:8000/socket/server/startDaemon.php";
你可能会发现URL中怎么没有http?恩,是的,这是一个Web Socket URL,使用了不同的协议。下面是URL分解图示:
下面让我们继续完成connect()函数,我们将代码放入try/catch块,这样如果代码出现问题,我们能让用户知道。我们创建Web Socket,并将信息传递到message()函数,之后会做讲解。我们创建我们的onopen、onmessage和onclose函数. 需要注意的是我们为用户提供了端口状态,这并不是必需的,但我们把它放进来主要是为了方便调试。
CONNECTING = 0
OPEN = 1
CLOSED = 2
function connect(){
try{
var socket;
var host = "ws://localhost:8000/socket/server/startDaemon.php";
var socket = new Web Socket(host);
message('<p class="event">Socket Status: '+socket.readyState);
socket.onopen = function(){
message('<p class="event">Socket Status: '+socket.readyState+' (open)');
}
socket.onmessage = function(msg){
message('<p class="message">Received: '+msg.data);
}
socket.onclose = function(){
message('<p class="event">Socket Status: '+socket.readyState+' (Closed)');
}
} catch(exception){
message('<p>Error'+exception);
}
}
message()函数很简单, 它将我们想展现给用户的文本填入chat log容器内。 我们在socket事件函数中为段落(<p>)标签创建适当的class,我们在message函数中只有一个段落结束标签。
function message(msg){
$('#chatLog').append(msg+'</p>');
}
目前的成果
如果你已按上面教程按部就班的做的话,很好,我们已经创建了HTML/CSS模板、创建并建立Web Socket连接、通过创建连接保持用户的进展更新。
- 大小: 10.1 KB
分享到:
相关推荐
此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份...
3. **Web Audio API**:HTML5的Web Audio API允许开发者创建复杂的音频处理和播放功能,为游戏和音乐应用提供了强大的支持。 4. **Geolocation API**:通过Geolocation API,开发者可以获取用户的地理位置信息,...
HTML5移动Web开发指南是一本由唐俊开编著的专业书籍,主要针对的是利用HTML5技术进行移动Web应用开发的领域。HTML5是超文本标记语言(HyperText Markup Language)的第五个重大版本,它的出现极大地提升了Web开发的...
在本文中,我们将深入探讨Qt6中的QML网络设置,特别是关于Web Sockets的应用。Qt6是Qt框架的最新版本,提供了丰富的功能和性能优化,而QML是Qt的声明式用户界面语言,使得UI设计变得直观且高效。在Qt6 QML中,Web ...
Windows Sockets,通常简称为Winsock,是Microsoft Windows操作系统中实现网络通信的一种API(应用程序编程接口)。这个规范为开发者提供了一种标准化的方式来访问底层网络协议,如TCP/IP,使得跨平台开发成为可能。...
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应用程序利用以下设计...
ASP的W3Sockets组件是面向Web开发人员的一款强大工具,尤其对于那些使用Active Server Pages (ASP)技术构建动态网站的人来说。这个组件是由JMAIL邮件组件的开发者所创建的,同样提供免费使用,旨在简化ASP环境下的...
HTML5是下一代超文本标记语言,它为网页开发引入了许多新的功能和API,使得开发者能够构建更加丰富、交互性更强的Web应用。在移动设备上,HTML5的潜力尤其显著,因为它允许开发者通过浏览器访问设备的一些核心功能,...
5. Progressive Web App (PWA):结合HTML5特性,构建渐进增强的Web应用,提供接近原生应用的体验。 四、学习路径与实践建议 1. 先了解HTML5的基础语法和新特性,通过编写简单的网页进行实践。 2. 学习CSS3以美化...