websocket备忘
来源:互联网 发布:大逆之门txt知白下载 编辑:程序博客网 时间:2024/05/19 17:56
websocket备忘
这里用注释来编写java后台代码:
EndPoint类的编写:
package learn;
import java.io.IOException;import javax.websocket.CloseReason;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import javax.websocket.RemoteEndpoint;import javax.websocket.SendHandler;import javax.websocket.SendResult;import javax.websocket.Session;import javax.websocket.server.ServerEndpoint;@ServerEndpoint("/testwebsocket")public class WebSocketLearn { @OnOpen public void myOnOpen(Session session) { System.out.println("WebSocket opened: " + session.getId()); try { session.getBasicRemote().sendText("hello !"); } catch (IOException e) { System.out.println(e); } } @OnMessage public void myOnMessage(Session session, String txt) { RemoteEndpoint.Async asyncRemote = session.getAsyncRemote(); System.out.println("WebSocket received message: " + txt); asyncRemote.sendText(txt, new SendHandler() { @Override public void onResult(SendResult sendResult) { System.out.println("**** is ok ? :" + sendResult.isOK()); } }); } @OnClose public void myOnClose(CloseReason reason) { System.out.println("Closing a WebSocket due to " + reason.getReasonPhrase()); } @OnError public void myOnError(Session session, Throwable throwable) { }}
ServerApplicationConfig类的编写:
package learn;import java.util.HashSet;import java.util.Set;import javax.websocket.Endpoint;import javax.websocket.server.ServerApplicationConfig;import javax.websocket.server.ServerEndpointConfig;public class WebSocketConfig implements ServerApplicationConfig { @Override public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scanned) { return scanned; } @Override public Set<ServerEndpointConfig> getEndpointConfigs(Set<Class<? extends Endpoint>> endpointClasses) { return (new HashSet<ServerEndpointConfig>()); }}
index.jsp的编写
<%@page pageEncoding="utf-8"%><html><body> <h2>Hello World!</h2> <script type="text/javascript"> if (window.WebSocket != undefined) { var connection = new WebSocket('ws://192.168.1.32:8086/testwebsocket'); connection.onopen = function(event) { console.log('*** opened ***'); console.log(event); } connection.onmessage = function(msgEvent) { console.log(msgEvent); connection.send('from browser !'); } connection.onclose = function(closeEvent) { console.log(closeEvent); } connection.onerror = function() { } } else { //如果浏览器不支持websocket console.log('****************** your browser don\'t support websocket ! ******************'); } </script></body></html>
测试直接将两个java放到web应用的java包中,然后访问index.jsp即可。该测试可高速来回发送消息,然后触发4个方法。
0 0
- websocket备忘
- WebSocket
- WebSocket
- WebSocket
- websocket
- WebSocket
- WebSocket
- WebSocket
- WebSocket
- websocket
- websocket
- WebSocket
- WebSocket
- WebSocket
- WebSocket
- websocket
- websocket
- websocket
- android开发常用工具网站
- vsftpd 安装配置
- HBuilder实现WebApp,总结MUI使用过程中的坑和方法
- 大神的博客。富文本等一系列的
- redis 安装
- websocket备忘
- C ++教程:类和对象
- emWin实现BMP位图皮肤之Scrollbar篇
- java文件上传--基于ajaxFileUpload+struts2
- 2017年大数据哪些趋势可能会影响到你呢?
- spring in action学习-第一章 spring之旅
- 浙工大15新生赛 命运数
- python赋值和拷贝----一切皆对象,参数皆引用
- 分布式架构系列:缓存