Modified: mina/site/trunk/content/vysper/websocket_endpoint.mdtext URL: http://svn.apache.org/viewvc/mina/site/trunk/content/vysper/websocket_endpoint.mdtext?rev=1402474&r1=1402473&r2=1402474&view=diff ============================================================================== --- mina/site/trunk/content/vysper/websocket_endpoint.mdtext (original) +++ mina/site/trunk/content/vysper/websocket_endpoint.mdtext Fri Oct 26 11:52:31 2012 @@ -19,38 +19,30 @@ Notice: Licensed to the Apache Softwa # Websocket endpoint -<DIV class="panelMacro"><TABLE class="infoMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="../staticResources/icons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Available since version 0.7.</TD></TR></TABLE></DIV> +<DIV class="info" markdown="1"> + Available since version 0.7. +</DIV> While websockets are still being specified, a draft specification for XMPP over websockets has been published at <http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00>. Websockets enables web browsers to establish duplex communications with servers with very little overhead. Vysper provides a websocket endpoint. The easiest way to use the endpoint is to simply add it as a regular endpoint: -<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> -<PRE class="code-java"> -XMPPServer server = <SPAN class="code-keyword">new</SPAN> XMPPServer(<SPAN class="code-quote">"vysper.org"</SPAN>); - -server.addEndpoint(<SPAN class="code-keyword">new</SPAN> TCPEndpoint()); - -server.addEndpoint(<SPAN class="code-keyword">new</SPAN> WebSocketEndpoint()); - -<SPAN class="code-comment">// other initialization -</SPAN> -server.start(); -</PRE> -</DIV></DIV> + XMPPServer server = new XMPPServer("vysper.org"); + + server.addEndpoint(new TCPEndpoint()); + + server.addEndpoint(new WebSocketEndpoint()); + + server.start(); Thatâs it. The default configuration will start a web server on port 8080 and supply websockets on <http://vysper.org:8080/>. The port and context path can be configured: -<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> -<PRE class="code-java"> -WebSocketEndpoint wsEndpoint = <SPAN class="code-keyword">new</SPAN> WebSocketEndpoint(); -wsEndpoint.setContextPath(<SPAN class="code-quote">"/xmpp"</SPAN>); -wsEndpoint.setPort(9000); -server.addEndpoint(wsEndpoint); -</PRE> -</DIV></DIV> + WebSocketEndpoint wsEndpoint = new WebSocketEndpoint(); + wsEndpoint.setContextPath("/xmpp"); + wsEndpoint.setPort(9000); + server.addEndpoint(wsEndpoint); ## Embedded @@ -60,29 +52,21 @@ Vysper currently supports this for Jetty For Jetty, add the following to your web.xml: -<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> -<PRE class="code-java"> -WebSocketEndpoint wsEndpoint = <SPAN class="code-keyword">new</SPAN> WebSocketEndpoint(); -wsEndpoint.setSSLEnabled(<SPAN class="code-keyword">true</SPAN>); -wsEndpoint.setSSLCertificateKeystore(<SPAN class="code-quote">"keystore.jks"</SPAN>, <SPAN class="code-quote">"sekrit"</SPAN>); -server.addEndpoint(wsEndpoint); -</PRE> -</DIV></DIV> + WebSocketEndpoint wsEndpoint = new WebSocketEndpoint(); + wsEndpoint.setSSLEnabled(true); + wsEndpoint.setSSLCertificateKeystore("keystore.jks", "sekrit"); + server.addEndpoint(wsEndpoint); For Tomcat, add the following to your web.xml: -<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent"> -<PRE class="code-java"> -<servlet> - <servlet-name>WebSocket Servlet</servlet-name> - <servlet-class>org.apache.vysper.xmpp.extension.websockets.TomcatXmppWebSocketServlet</servlet-class> - <load-on-startup>1</load-on-startup> -</servlet> -<servlet-mapping> - <servlet-name>WebSocket Servlet</servlet-name> - <url-pattern>/ws</url-pattern> -</servlet-mapping> -</PRE> -</DIV></DIV> + <servlet> + <servlet-name>WebSocket Servlet</servlet-name> + <servlet-class>org.apache.vysper.xmpp.extension.websockets.TomcatXmppWebSocketServlet</servlet-class> + <load-on-startup>1</load-on-startup> + </servlet> + <servlet-mapping> + <servlet-name>WebSocket Servlet</servlet-name> + <url-pattern>/ws</url-pattern> + </servlet-mapping> Also, when using the servlet, the main Vysper XMPP server needs to be started by some other mean, typically via a context listener. The ServerRuntimeContext of the Vysper server needs to be made available within the servlet context under the key âorg.apache.vysper.xmpp.server.ServerRuntimeContextâ. Thereâs an example application included in the Vysper distribution which does this. The source code is available here: <http://svn.apache.org/repos/asf/mina/vysper/trunk/examples/embedded-war/>
