<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>Video of Using the WebSocket API in a Web Application</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <meta name="description" content="A screencast that introduces the basics of HTML5 support in NetBeans IDE">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    </head>
    <body>

<!--
Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-->

        <h1>Video of Using the WebSocket API in a Web Application</h1>

        <table>
            <tr>
                <td class="valign-top">

                    <p>This screencast demonstrate how to use the WebSocket API and JSON to create a 
                    simple web application that enables collaboration between 
                    client browsers that are connected to a single WebSocket endpoint.
                    </p>
                    
                    
                    <p>Author: Ken Ganfield<br>Time: 14:00</p>

                    <p><a href="http://bits.netbeans.org/media/websocketapi-screencast.mp4">Download / Watch full size</a> (75 MB)</p>


                    
                </td>

                <td width="486" class="valign-top align-center">

 <script src="/images_www/js/mediaplayer-5.9/jwplayer.js" type="text/javascript"></script>                   
    <div id="player" >
        <center>
	    <div id="flashContent"></div>
        </center>
    </div>
    <script type="text/javascript">
	$(function(){
	    var targetFile='http://bits.netbeans.org/media/websocketapi-screencast.mp4';
		jwplayer('flashContent').setup({
	                'id': 'flashContentId',
	                'width': '530',
	                'height': '340',
	                'autostart': 'true',
	                'file': targetFile,
	                'controlbar':{position:'bottom'},
	                'modes': [
	                      {type: 'html5'},
	                      {type: 'flash', src: '/images_www/js/mediaplayer-5.9/player.swf'},
	                      {type: 'download'}
	                         ]
	           });	
	});
    </script>


                    </td>
            </tr>
            
            <tr>
                <td colspan="2">
                    <p>For the steps for creating this application in NetBeans IDE, see the following tutorial.</p>
                    <ul>
                        <li><a href="maven-websocketapi.html">Using the WebSocket API in a Web Application</a></li>
                    </ul>
                    
                    <br style="clear:both;">
                    <div class="feedback-box">
                        <a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Video%20of%20Using%20the%20WebSocket%20API%20in%20a%20Web%20Application">Send Feedback on This Tutorial</a>
                    </div>
                    <br style="clear:both;">
                </td>
            </tr>
        </table>
        <h2>Related links</h2>

        <ul>
            <li>Demo: <a href="javaee-gettingstarted-screencast.html">Getting Started with Java EE Applications</a></li>
            <li><a href="javaee-gettingstarted.html">Getting Started with Java EE Applications</a></li>
            <li><a href="javaee-intro.html">Introduction to Java EE Technology</a></li>
            <li><a href="../../trails/java-ee.html">Java EE &amp; Java Web Learning Trail </a></li>
        </ul>

    </body>
</html>
