`
wjlgryx
  • 浏览: 306901 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTML 5 Web Sockets应用初探(3)

阅读更多

第六步: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
分享到:
评论

相关推荐

    WindowsSockets规范及应用

    此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份...

    HTML5移动Web开发实战教程

    3. **Web Audio API**:HTML5的Web Audio API允许开发者创建复杂的音频处理和播放功能,为游戏和音乐应用提供了强大的支持。 4. **Geolocation API**:通过Geolocation API,开发者可以获取用户的地理位置信息,...

    HTML5移动Web开发指南

    HTML5移动Web开发指南是一本由唐俊开编著的专业书籍,主要针对的是利用HTML5技术进行移动Web应用开发的领域。HTML5是超文本标记语言(HyperText Markup Language)的第五个重大版本,它的出现极大地提升了Web开发的...

    Qt6 QML Book/网络设置/Web Sockets示例源码

    在本文中,我们将深入探讨Qt6中的QML网络设置,特别是关于Web Sockets的应用。Qt6是Qt框架的最新版本,提供了丰富的功能和性能优化,而QML是Qt的声明式用户界面语言,使得UI设计变得直观且高效。在Qt6 QML中,Web ...

    Windows Sockets 规范及应用

    Windows Sockets,通常简称为Winsock,是Microsoft Windows操作系统中实现网络通信的一种API(应用程序编程接口)。这个规范为开发者提供了一种标准化的方式来访问底层网络协议,如TCP/IP,使得跨平台开发成为可能。...

    使用 HTML 5 创建移动 Web 应用程序,第 1 部分: 联合使用 HTML 5、地理定位 API 和 Web 服务来创建移动混搭程序

    HTML5的引入为Web开发者提供了许多新功能,例如离线存储、媒体元素、 canvas 绘图、svg矢量图、web workers和web sockets等,这些都极大地扩展了Web应用的可能性。但其中,地理定位API是移动开发领域的一个重要突破...

    &《HTML5&移动应用开发入门经典》

    HTML5是下一代网页标准,它的出现极大地扩展了Web应用程序的功能,使得开发者能够创建出更加丰富、交互性更强的网页内容。这本书《HTML5&移动应用开发入门经典》旨在引导初学者进入HTML5的世界,理解其核心概念和...

    WINDOWS_SOCKETS规范及应用

    ### Windows Sockets 规范及应用 #### 一、引言 随着信息技术的快速发展,特别是互联网的普及,网络编程已经成为软件开发中不可或缺的一部分。在众多的网络编程接口中,Windows Sockets(简称Winsock)因其易用性和...

    passenger-ruby-websocket-demo, 在Phusion上,web sockets演示.zip

    passenger-ruby-websocket-demo, 在Phusion上,web sockets演示 Phusion乘客的web sockets这个应用程序演示了 Phusion Passenger中的web socket支持。 乘客支持所有主流的现代网络技术,如网格网,完全脱离了盒子。 ...

    websocket-stream, web sockets与节点流 API.zip

    websocket-stream, web sockets与节点流 API web socket流 使用 HTML5 使用节点流 API 。用法这里 MODULE 在支持 web sockets的节点或者浏览器中工作。 你可以使用 browserify 将这里 MODULE 打包为浏览器使用。va

    plezi, Plezi用于实时网络应用程序,web sockets和 RESTful HTTP的ruby 框架.zip

    plezi, Plezi用于实时网络应用程序,web sockets和 RESTful HTTP的ruby 框架 :一个实时web应用框架 microservices在你心里? 你梦见一个易于伸缩的SPA? 你是否想知道你是否可以以使用几行代码( 未包括业务逻辑) ...

    《Windows Sockets 规范及应用》

    ### Windows Sockets 规范及应用 #### 一、引言 随着计算机网络技术的快速发展,特别是Windows操作系统和Internet的普及,网络编程成为了软件开发中不可或缺的一部分。在这样的背景下,《Windows Sockets 规范及...

    新Web设计标准HTML5的历史与回顾

    此外,Web Workers和Web Sockets的引入,分别优化了后台多线程处理和实时双向通信,提高了Web应用的性能和响应速度。 HTML5的另一大亮点是其对移动设备的优化。考虑到智能手机和平板电脑的兴起,HTML5在设计时就...

    spring-boot-axon-sample, 使用 Spring Boot,轴突,AngularJS和 web sockets的样例应用.zip

    spring-boot-axon-sample, 使用 Spring Boot,轴突,AngularJS和 web sockets的样例应用 Spring Boot 轴突样品简介这是一个示例应用,演示 Spring Boot ( 1.5. x ) 和轴突框架( 3.x ) 。Todo应用程序利用以下设计...

    ASP的W3Sockets组件

    ASP的W3Sockets组件是面向Web开发人员的一款强大工具,尤其对于那些使用Active Server Pages (ASP)技术构建动态网站的人来说。这个组件是由JMAIL邮件组件的开发者所创建的,同样提供免费使用,旨在简化ASP环境下的...

    使用html5得到手机设备信息的.zip

    HTML5是下一代超文本标记语言,它为网页开发引入了许多新的功能和API,使得开发者能够构建更加丰富、交互性更强的Web应用。在移动设备上,HTML5的潜力尤其显著,因为它允许开发者通过浏览器访问设备的一些核心功能,...

    HTML5从入门到精通

    5. Progressive Web App (PWA):结合HTML5特性,构建渐进增强的Web应用,提供接近原生应用的体验。 四、学习路径与实践建议 1. 先了解HTML5的基础语法和新特性,通过编写简单的网页进行实践。 2. 学习CSS3以美化...

Global site tag (gtag.js) - Google Analytics