localhost上的Apache Tomcat websockets实现

时间:2014-03-14 08:12:58

标签: java tomcat servlets websocket

嘿伙计们我正在努力学习websockets。尝试了一些关于apache tomcat 7 websockets例子的例子 - > 'http://tomcat.apache.org/tomcat-7.0-doc/web-socket-howto.html'。我已经完成了客​​户端代码。服务器端的问题是要在java servlet中编写的。我尝试使用eclipse和Apache Tomcat 7.0.52在我的localhost上运行示例。 任何人都可以帮我提供服务器代码的一些教程和示例。

以下是简单回显服务器的客户端代码:

var wsUri = "ws://echo.websocket.org/"; 
var output; 

function init() { 
output = document.getElementById("output");
$('‪#‎send‬').click(function(){
doSend("ja ghari");
});
testWebSocket(); } 

function testWebSocket() {
websocket = new WebSocket(wsUri); 
websocket.onopen = function(evt) { onOpen(evt);};
websocket.onclose = function(evt) { onClose(evt) ;}; 
websocket.onmessage = function(evt) { onMessage(evt) ;}; 
websocket.onerror = function(evt) { onError(evt) ;}; } 

function onOpen(evt) { 
writeToScreen("CONNECTED"); 
doSend("WebSocket rocks");
} 

function onClose(evt) { 
writeToScreen("DISCONNECTED"); } 

function onMessage(evt) { 
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>'); 
} 

function onError(evt) { 
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data); } 

function doSend(message) { 
writeToScreen("SENT: " + message); 
websocket.send(message); } 

function writeToScreen(message) { 
var pre = document.createElement("p"); pre.style.wordWrap = "break-word"; 
pre.innerHTML = message; output.appendChild(pre); } 

window.addEventListener("load", init, false); 

现在我需要在java中为此编写服务器端代码 我需要一个服务器,它将使用websockets与我的客户端进行通信

Apache Tomcat 7或更高版本是必须使用java编写的服务器端代码。 提前谢谢。

1 个答案:

答案 0 :(得分:12)

Apache Tomcat 7附带一个示例WebSocket echo实现。

您不将服务器端编写为Servlet。您需要实现WebSocket端点。 Tomcat将处理管道以将请求路由到端点。