`

websocket实例1-基于xml

阅读更多
<!DOCTYPE html>
<html>
<head>
<title>WebSockete Demo</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
	//验证浏览器是否支持WebSocket协议  
	if (!window.WebSocket) {
		alert("WebSockeet not supported by this browser!");
	}
	var ws;
	function display() {
		ws = new WebSocket("ws://localhost:8080/examplesXml/websocket");
		//监听消息  
		ws.onmessage = function(event) {
			log(event.data);
		}

		//关闭WebSocket  
		ws.onclose = function(event) {
		}
		//打开WebSocket  
		ws.onopen = function(event) {
			ws.send("Hello,Server");
		}
		ws.onerror = function(event) {
		}
	}
	var log = function(s) {
		if (document.readyState !== "complete") {
			log.buffer.pust(s);
		} else {
			document.getElementById("contendId").innerHTML += (s + "\n");
		}
	}
	function sendMsg() {
		var msg = document.getElementById("messageId");
		ws.send(msg.value);
	}
</script>
</head>

<body onload="display();">
	<div id="valueLabel"></div>
	<textarea rows="20" cols="30" id="contendId"></textarea>
	<br />
	<input name="message" id="messageId" />
	<button id="sendButton" onClick="javascript:sendMsg()">Send</button>
</body>
</html>

 客户端代码-新建index.html,代码如上。

package cn.jess.websocket;  
  
import java.io.IOException;  
import java.nio.ByteBuffer;  
import java.nio.CharBuffer;  
import java.util.ArrayList;  
import java.util.List;  
  
import javax.servlet.http.HttpServletRequest;  
  
import org.apache.catalina.websocket.MessageInbound;  
import org.apache.catalina.websocket.StreamInbound;  
import org.apache.catalina.websocket.WebSocketServlet;  
import org.apache.catalina.websocket.WsOutbound;  
  
public class EchoServlet extends WebSocketServlet {  
    /** 
     *  
     */  
    private static final long serialVersionUID = -2581942001009336822L;  
    //private static final Logger log = Logger.getLogger("EchoServlet");  
    private static List<MessageInbound> socketList = new ArrayList<MessageInbound>();  
//  privat static final long ser  
      
    private static List<WebSocketMessageInbound> connsList = new ArrayList<WebSocketMessageInbound>();  
      
    protected StreamInbound createWebSocketInbound(String subProtocol,HttpServletRequest request){  
          
        return new WebSocketMessageInbound();  
    }  
      
    public class WebSocketMessageInbound extends MessageInbound{  
        protected void onClose(int status){  
            super.onClose(status);  
            socketList.remove(this);              
        }  
        protected void onOpen(WsOutbound outbound){  
            super.onOpen(outbound);  
            socketList.add(this);  
        }  
        //@Override  
        protected void onBinaryMessage(ByteBuffer message) throws IOException {  
            // TODO Auto-generated method stub  
            System.out.println("onBinarymessage");  
        }  
        @Override  
        protected void onTextMessage(CharBuffer message) throws IOException {  
            // TODO Auto-generated method stub  
            for(MessageInbound messageInbound : socketList){  
                CharBuffer buffer = CharBuffer.wrap(message);  
                WsOutbound outbound = messageInbound.getWsOutbound();  
                outbound.writeTextMessage(buffer);  
                outbound.flush();                 
            }  
        }  
    }  
}  

以上是服务器端的代码。

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
xmlns="http://java.sun.com/xml/ns/javaee"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  <display-name></display-name>  
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
  </welcome-file-list>    
  <servlet>  
<servlet-name>websocket</servlet-name>  
<servlet-class>cn.jess.websocket.EchoServlet</servlet-class>  
<load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>    
        <servlet-name>websocket</servlet-name>    
        <url-pattern>/websocket</url-pattern>    
    </servlet-mapping>  
</web-app>  

 web.xml文件的配置。

 

  • 大小: 15.9 KB
分享到:
评论

相关推荐

    websocket-server

    本项目是一个基于Spring Boot集成WebSocket的服务端示例,旨在演示如何实现一个能够主动与前端通信的系统。Spring Boot是Java领域内广泛使用的微服务框架,它简化了Spring的应用开发,提供了快速构建应用程序的能力...

    基于maven的websocket实例

    总之,这个基于Maven的WebSocket实例展示了如何利用Java、Maven和Tomcat7创建一个简单的WebSocket聊天应用。通过这种方式,开发者可以构建高度交互的Web应用程序,如在线游戏、实时股票报价、协作工具等,这些应用对...

    spring4整合websocket 基于xml配置实例程序

    在本文中,我们将深入探讨如何在Spring 4框架中整合WebSocket技术,并且通过XML配置来实现这一功能。WebSocket协议提供了一种低延迟、双向通信的机制,使得服务器和客户端能够实时交互数据,非常适合构建实时应用,...

    java-websocket jar包

    Java WebSocket 是一种基于Java语言实现的WebSocket协议库,主要用于实现在Web应用中提供实时的双向通信功能。WebSocket协议是HTML5规范的一部分,它允许客户端和服务器之间建立持久性的连接,从而实现数据的双向推...

    SpringBoot整合WebSocket+nacos注册中心

    1. 添加WebSocket依赖:在`pom.xml`中引入Spring Websocket相关依赖,如`spring-boot-starter-websocket`。 2. 配置WebSocket:在`application.yml`或`application.properties`中配置WebSocket的相关端点,如`...

    websocket java实例

    这个实例是基于Java技术,并在Tomcat 7服务器上运行,兼容JDK 1.7环境。以下是关于WebSocket在Java中的实现以及相关知识点的详细解释: 1. **WebSocket协议**:WebSocket协议是HTML5的一个特性,它通过TCP连接提供...

    springboot-websocket-demo.zip

    【描述】"springboot-websocket-demo"项目是一个教学或实践用的实例,它展示了如何在基于Spring Boot的Java应用程序中启用和使用WebSocket技术。WebSocket是一种在客户端和服务器之间建立长连接的协议,允许双方实时...

    javaee7 标准websocket api

    1. **WebSocket服务器端点(Server Endpoint)**:通过使用`@ServerEndpoint`注解,我们可以定义一个WebSocket服务器端点类。这个类的实例将代表服务器上的一个WebSocket连接。例如: ```java @ServerEndpoint("/...

    java-websocket-1.3.0.jar

    1. 选择合适的WebSocket草案:不同的WebSocket库可能支持不同的草案,如Draft_17、Draft_6455等。确保选择的草案与目标服务器兼容。 2. 异常处理:确保正确处理网络异常、消息解析错误等,保持程序的健壮性。 3. ...

    webSocket应用实例

    1. **创建WebSocket服务器端**:在Java中,可以通过实现`javax.websocket.OnMessage`、`OnOpen`和`OnClose`等接口来创建WebSocket服务器端点。 2. **创建WebSocket客户端**:客户端通常通过JavaScript的`WebSocket`...

    java基于websocket的聊天实例

    在本实例中,我们将探讨如何利用Java实现基于WebSocket的聊天应用。 首先,我们要理解WebSocket的基本原理。WebSocket是HTML5的一个新特性,通过创建一个持久性的连接,使得实时通信成为可能。它通过HTTP/1.1协议的...

    websocket实例

    在这个WebSocket实例中,Maven配置文件(pom.xml)将定义项目依赖,如WebSocket库,以及构建和运行的指令。 7. **实际应用**: 在实际开发中,WebSocket还可以结合其他技术,如Spring Framework的WebSocket支持,...

    一个机遇JAVA Web的websocket 实例

    这个实例是基于Java Web的WebSocket实现,适用于Tomcat 7.0.55及以上版本。 在Java Web中实现WebSocket,首先需要了解以下几个核心概念: 1. **WebSocket API**:Java提供了一个WebSocket API,允许开发者创建...

    基于websocket的聊天室源码

    WebSocket是一种在客户端...总之,基于WebSocket的聊天室源码是一个结合了Java后端、前端JavaScript、HTML和CSS的综合项目,它展示了WebSocket如何实现实时通信,并为开发者提供了一个学习和实践WebSocket技术的实例。

    springboot-webSocket-test.rar

    1. **添加依赖**:在`pom.xml`文件中,需要引入Spring Websocket的相关依赖。这通常包括`spring-boot-starter-websocket`和`spring-boot-starter-actuator`,后者用于提供健康检查和其他监控功能。 ```xml ...

    websocket聊天室,学习websocket的好例子。

    1. **服务器端**:使用WebSocket API创建一个WebSocket服务器端点,监听特定的WebSocket URL。当客户端连接时,服务器会创建一个连接实例,用于后续的数据交换。 2. **客户端**:在浏览器端,JavaScript代码负责...

    其于Javax的WebSocket Server实例

    总的来说,创建一个基于Javax的WebSocket服务器涉及到设置项目依赖、编写WebSocket端点类、配置Servlet以及启动服务器。这个过程可以通过Maven项目(如"MavenWebSocketServer")进行管理,使得开发和部署更加方便。

    webSocket实现Android客户端之间简单的通讯

    1. **选择WebSocket库**: - Android平台上常见的WebSocket库有Socket.IO、OkHttp-WebSocket-Client、Autobahn等。这里我们以OkHttp-WebSocket-Client为例,因为它与OkHttp结合紧密,使用起来相对简单。 2. **集成...

    WebSocketDemo1.zip

    2. **连接**: 使用WebSocket实例的`connect()`方法来建立到服务器的连接。这个过程可能涉及SSL/TLS握手,如果服务器要求安全连接。 3. **握手协议**: WebSocket连接建立时,客户端会发送一个HTTP升级请求到服务器,...

    基于Tomcat实现HTML5的WebSocket

    通过`new WebSocket("ws://服务器地址/路径")`创建一个新的WebSocket实例,并监听`open`、`close`、`message`事件来处理连接状态变化和接收服务器发送的数据。 4. **通信** - 一旦连接建立,可以通过`WebSocket....

Global site tag (gtag.js) - Google Analytics