基于Eclipse的HTML5 Websocket和GlassFish



项目环境:-Eclipse 3.6(Eclipse jee helios)+HTML5+JavaScript+Websocket+(grizzly)Glassfish 3.1.1

我已经部署了示例项目,并且能够使用GF.运行

当我尝试连接websocket时,它总是调用onClose

我尝试过:-asadmin set configs.config.server config.network config.procols.procols.http-listener-1.http.websockets support-enabled=true

GF 3.1.1支持web套接字(下载自http://glassfish.java.net/downloads/3.1.1-final.html)

像safari和Google Chrome这样的浏览器支持websocket(我使用的是最新的浏览器,并与http://websocket.org/echo.htmlURL)

Java脚本:-

    var webSocket;
$(document).ready(
function() {
**var URL = "ws://localhost:8080/SampleGF/WebSocketChatServlet";**
      //Tried using and lot of combination of URLS
      var URL = "ws://localhost:8080/";
      var URL = "ws://localhost:8080/SampleGF";
      var URL = "ws://localhost:8080/SampleGF/WebSocketChatServlet";
webSocket = new WebSocket(URL);
//alert("WebSockets are " + (window.WebSocket ? "" : "not ") + "supported"); 
webSocket.onopen = function(event) {
    alert("OPEN")
}
webSocket.onmessage = function(event) {
    var $textarea = $('#messages');
    $textarea.val($textarea.val() + event.data + "n");
    $textarea.animate({
    scrollTop : $textarea.height()
    }, 1000);
}
webSocket.onclose = function(event) {
    alert("CLOSE")
}

});

 function sendMessage() {
var message = $('#username').val() + ":" + $('#message').val();
webSocket.send(message);
$('#message').val('');
}

我使用了ChatSocket.java、WebSocketChatServlet.java、ChatApplication.java,如下链接所示:-

http://java.dzone.com/articles/creating-websocket-chat

我在项目库中添加了servletapi.jar

参考。链接:-http://tech.amikelive.com/node-269/eclipse-quick-tip-resolving-error-the-import-javaxservlet-cannot-be-resolved/

Web.xml:-

我添加了servlet和servlet映射,如下所示:

servlet

    description    WebSocketChatServlet  description 
    servlet-name   WebSocketChatServlet  servlet-name
    servlet-class  org.trivadis.websocket.servlet.WebSocketChatServlet  servlet-class

servlet

servlet映射

servlet-name  WebSocketChatServlet    servlet-name
url-pattern   /WebSocketChatServlet   url-pattern

servlet映射


我不确定我做错了什么。。。。

我如何检查我正在使用的websocket的URL是否正确。

GF的位置是我的项目的D:\glassfish3\glassfish。项目位置D:\workspace\SampleGF

另一个原因:-

甚至我也尝试了以下链接中的WAR示例:-

http://jarvana.com/jarvana/search?search_type=project&项目=灰色的websockets聊天

WAR文件名:-grizzly-websockets-cat-1.9.45.WAR

我已经在Eclipse中导入了上述war文件,并将其部署在glassfish 3.1.1服务器上。在运行它之后,应用程序总是调用onclose事件。

我执行了以下命令:-

asadmin set configs.config.server config.network config.procols.procols.http-listener-1.http.websockets support-enabled=true

我正在使用类似safari的浏览器,谷歌Chrome支持websocket(我已经用下面的链接进行了测试http://websocket.org/echo.htmlURL)

有人能帮我吗…。。

我已经有好几个月没有尝试针对grizzly运行已发布的示例代码了。我可能已经过时了,但当我尝试的时候,它没有起作用。发布样本的人最终在文章下面的讨论帖子中承认了问题。由于我从那以后就没有尝试过,我不知道它是否已经修复;也就是说,我还没有确认灰熊能工作。(如果有人知道一个工作样品,我和你一样感兴趣。)

同时,您可以尝试这种替代方案来运行您的客户端代码。如果你愿意,你甚至可以对照免费下载的JavaScript代码来检查你在做什么。http://highlevellogic.blogspot.com/2011/09/websocket-server-demonstration_26.html

如果你让你的代码在这个服务器上工作,那么用grizzly再试一次。我会对结果感兴趣的。

相关内容

  • 没有找到相关文章

最新更新