websocket 无法连接 onerror
来源:互联网 发布:微信报名软件 编辑:程序博客网 时间:2024/06/06 08:05
在写ws时一定要加上项目名称 byteslounge 在加上websocket的路径名websocket才能请求的到 例如:
ws://localhost:8080/byteslounge/websocket
实例:
1. WebSocket服务器端
让我们定义一个 Java EE websocket服务器端:
WebSocketTest.java
package com.byteslounge.websockets;import java.io.IOException;import javax.websocket.OnClose;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import javax.websocket.Session;import javax.websocket.server.ServerEndpoint;@ServerEndpoint("/websocket")public class WebSocketTest { @OnMessage public void onMessage(String message, Session session) throws IOException, InterruptedException { // Print the client message for testing purposes System.out.println("Received: " + message); // Send the first message to the client session.getBasicRemote().sendText("This is the first server message"); // Send 3 messages to the client every 5 seconds int sentMessages = 0; while(sentMessages < 3){ Thread.sleep(5000); session.getBasicRemote(). sendText("This is an intermediate server message. Count: " + sentMessages); sentMessages++; } // Send a final message to the client session.getBasicRemote().sendText("This is the last server message"); } @OnOpen public void onOpen() { System.out.println("Client connected"); } @OnClose public void onClose() { System.out.println("Connection closed"); }}
你可能已经注意到我们从 javax.websocket包中引入了一些类。
@ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端。注解的值将被用于监听用户连接的终端访问URL地址。
onOpen 和 onClose 方法分别被@OnOpen和@OnClose 所注解。这两个注解的作用不言自明:他们定义了当一个新用户连接和断开的时候所调用的方法。
onMessage 方法被@OnMessage所注解。这个注解定义了当服务器接收到客户端发送的消息时所调用的方法。注意:这个方法可能包含一个javax.websocket.Session可选参数(在我们的例子里就是session参数)。如果有这个参数,容器将会把当前发送消息客户端的连接Session注入进去
本例中我们仅仅是将客户端消息内容打印出来,然后首先我们将发送一条开始消息,之后间隔5秒向客户端发送1条测试消息,共发送3次,最后向客户端发送最后一条结束消息。
2. 客户端
现在我们要来写websocket测试应用的客户端:
page.html
<!DOCTYPE html><html><head><title>Testing websockets</title></head><body> <div> <input type="submit" value="Start" onclick="start()" /> </div> <div id="messages"></div> <script type="text/javascript"> var webSocket = new WebSocket('ws://localhost:8080/byteslounge/websocket'); webSocket.onerror = function(event) { onError(event) }; webSocket.onopen = function(event) { onOpen(event) }; webSocket.onmessage = function(event) { onMessage(event) }; function onMessage(event) { document.getElementById('messages').innerHTML += '<br />' + event.data; } function onOpen(event) { document.getElementById('messages').innerHTML = 'Connection established'; } function onError(event) { alert(event.data); } function start() { webSocket.send('hello'); return false; } </script></body></html>
这是一个简单的页面,包含有JavaScript代码,这些代码创建了一个websocket连接到websocket服务器端。
onOpen 我们创建一个连接到服务器的连接时将会调用此方法。
onError 当客户端-服务器通信发生错误时将会调用此方法。
onMessage 当从服务器接收到一个消息时将会调用此方法。在我们的例子中,我们只是将从服务器获得的消息添加到DOM。
我们连接到websocket 服务器端,使用构造函数 new WebSocket() 而且传之以端点URL:
ws://localhost:8080/byteslounge/websocket
转载地址:http://www.oschina.net/translate/java-ee-html5-websocket-example 点击打开链接
- websocket 无法连接 onerror
- Websocket无法连接
- django+gunicorn+nginx, WebSocket无法正常连接
- WebSocket :记录WebSocket onError错误用法导致的BUG
- html5 websocket 无法建立到服务器的连接 一种解决方法
- websocket,无法建立到 ws://... 服务器的连接
- onerror
- onerror
- onerror
- 搞了一上午的websocket,最后启动的时候发现websocket无法连接到服务器
- 图片无法加载时onerror处理
- websocket无法建立服务
- 解决nodejs websocket.io 重新连接无法接受消息的问题
- websocket——Firefox 无法建立到 ws://... 服务器的连接
- WebSocket(壹) 握手连接
- WebSocket(伍) 断开连接
- websocket连接失败
- tomcat websocket连接
- 四元数AHRS姿态解算和IMU姿态解算分析
- 自定义新建代码时的菜单
- 侧拉DrawerLayout 的使用
- 百度网盘使用浏览器下载大文件,无需跳转客户端
- 论文代理发表
- websocket 无法连接 onerror
- Maven常用命令
- Android 屏幕适配(基本概念篇)
- Unity基于模板生成代码的原理与应用
- android 自定义相机和拍摄
- java File相关操作
- ARM_4412_走马灯
- SIZEOF结构体
- JFinal导入元数据中数据源如何添加自己连接的第三个数据库