java - 本地主机上的 Apache Tomcat websockets 实现

标签 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 在本地主机上运行示例。 谁能帮我提供一些服务器代码的教程和示例。

这是一个简单的回显服务器的客户端代码:

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 编写。 提前致谢。

最佳答案

Apache Tomcat 7 附带了一个示例 WebSocket 回显实现。

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

关于java - 本地主机上的 Apache Tomcat websockets 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22399471/

相关文章:

java - Jnlp 和 Browser 之间可以通信吗?

java - org.apache.jasper.JasperException : Unable to compile class for JSP and java. io.FileNotFoundException : programs_jsp. java(权限被拒绝)

multithreading - 每个请求 3 个线程

java - 将参数从 servlet 转发到 jsp

java - servlet 容器中基于 Netty 的服务器

jsp - 服务方法中的 request.getPathInfo() 怎么会返回 null?

java - 为什么将 Thread.currentThread().isInterrupted() 与 try/catch 一起使用

Java-调用get方法时获取类属性名称

java - 如何在Java中修剪对象的某些字段?

java - 双端队列