项目环境:-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再试一次。我会对结果感兴趣的。