package com.websocket;
//import org.java_websocket.WebSocketImpl; //main方法中使用
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
public class WebSocket extends WebSocketServer{
int j=0;
int h=0;
int e=0;
int l=0;
public WebSocket(InetSocketAddress address) {
super(address);
System.out.println("地址" + address);
}
public WebSocket(int port) throws UnknownHostException {
super(new InetSocketAddress(port));
System.out.println("端口" + port);
}
/**
* 触发连接事件
* @param conn
* @param handshake
*/
@Override
public void onOpen(org.java_websocket.WebSocket conn, ClientHandshake handshake) {
System.out.println("有人连接Socket conn:" + conn);
l++;
}
/**
* 触发关闭事件
* @param conn
* @param message
* @param reason
* @param remote
*/
@Override
public void onClose(org.java_websocket.WebSocket conn, int message, String reason, boolean remote) {
userLeave(conn);
}
/**
* 客户端发送消息到服务器是触发事件
* @param conn
* @param message
*/
@Override
public void onMessage(org.java_websocket.WebSocket conn, String message) {
if(message != null) {
//将用户加入
this.userJoin(message, conn);
}
}
/**
* 触发异常事件
* @param conn
* @param message
*/
@Override
public void onError(org.java_websocket.WebSocket conn, Exception message) {
System.out.println("Socket异常:" + message.toString());
e++;
}
/**
* 用户下线处理
* @param conn
*/
public void userLeave(org.java_websocket.WebSocket conn) {
String user = WebSocketPool.getUserByKey(conn);
boolean b = WebSocketPool.removeUser(conn); // 在连接池中移除连接
if (b) {
WebSocketPool.sendMessage(user); // 把当前用户从所有在线用户列表中删除
String leaveMsg = "[系统]" + user + "下线了";
WebSocketPool.sendMessage(leaveMsg); // 向在线用户发送当前用户退出的信息
}
}
public void userJoin(String user, org.java_websocket.WebSocket conn) {
WebSocketPool.sendMessage(user); // 把当前用户加入到所有在线用户列表中
String joinMsg = "[系统]" + user + "上线了!";
WebSocketPool.sendMessage(joinMsg); // 向所有在线用户推送当前用户上线的消息
WebSocketPool.addUser(user, conn); // 向连接池添加当前的连接的对象
WebSocketPool.sendMessageToUser(conn, WebSocketPool.getOnlineUser().toString());
// 向当前连接发送当前在线用户的列表
}
public static void main(String[] args) throws InterruptedException{
// System.out.println("开始启动webSocket");
// WebSocketImpl.DEBUG = false;
// int port = 8080; // 端口随便设置,只要不跟现有端口重复就可以了
// WebSocket s =null;
// try {
// s = new WebSocket(port);
// s.start();
// } catch (UnknownHostException e1) {
// System.out.println("启动webSocket失败!");
// e1.printStackTrace();
// }
// System.out.println("启动webSocket成功!");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java实现websocket简单demo
共35个文件
jar:15个
class:8个
java:4个
5星 · 超过95%的资源 需积分: 33 212 下载量 53 浏览量
2017-06-30
11:17:39
上传
评论
收藏 5.31MB RAR 举报
温馨提示
一个简单的java实现websocket的小demo,,查考博客http://blog.csdn.net/sunnylinner/article/details/52562583?locationNum=4&fps=1
资源推荐
资源详情
资源评论
收起资源包目录
webscoket.rar (35个子文件)
webscoket
pom.xml 1KB
target
test-classes
dependency
junit-4.10.jar 247KB
spring-expression-3.2.8.RELEASE.jar 192KB
jstl-1.1.2.jar 20KB
aopalliance-1.0.jar 4KB
spring-web-3.2.8.RELEASE.jar 614KB
spring-context-3.2.8.RELEASE.jar 846KB
spring-aop-3.2.8.RELEASE.jar 330KB
spring-core-3.2.8.RELEASE.jar 853KB
commons-logging-1.1.3.jar 61KB
spring-beans-3.2.8.RELEASE.jar 598KB
spring-webmvc-3.2.8.RELEASE.jar 623KB
hamcrest-core-1.1.jar 75KB
classes
com
filter
StartFilter.class 2KB
servlet
TestServlet.class 2KB
websocket
WebSocket.class 3KB
WebSocketPool.class 3KB
.settings
org.eclipse.m2e.core.prefs 90B
org.eclipse.jdt.core.prefs 243B
src
test
resources
java
main
webapp
WEB-INF
web.xml 914B
classes
com
filter
StartFilter.class 2KB
servlet
TestServlet.class 2KB
websocket
WebSocket.class 3KB
WebSocketPool.class 3KB
lib
Java-WebSocket-1.3.1-SNAPSHOT.jar 99KB
javax.websocket-api-1.1.jar 36KB
tomcat-catalina-8.5.11.jar 1.52MB
js
websocket.js 1KB
index.jsp 1KB
resources
java
com
filter
StartFilter.java 1KB
servlet
TestServlet.java 932B
websocket
WebSocket.java 4KB
WebSocketPool.java 3KB
.project 561B
.classpath 2KB
共 35 条
- 1
y_hai_yang
- 粉丝: 16
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页