This commit is contained in:
@@ -94,13 +94,6 @@ public abstract class WebSocket {
|
|||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 显式地关闭WebSocket
|
|
||||||
*/
|
|
||||||
public final void close() {
|
|
||||||
if (this._runner != null) this._runner.closeRunner();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送单一的文本消息
|
* 发送单一的文本消息
|
||||||
*
|
*
|
||||||
@@ -122,16 +115,6 @@ public abstract class WebSocket {
|
|||||||
return send(new WebSocketPacket(text, last));
|
return send(new WebSocketPacket(text, last));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 发送单一的二进制消息
|
|
||||||
*
|
|
||||||
* @param data byte[]
|
|
||||||
* @return 0表示成功, 非0表示错误码
|
|
||||||
*/
|
|
||||||
public final int send(byte[] data) {
|
|
||||||
return send(data, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public final int sendPing() {
|
public final int sendPing() {
|
||||||
//if (_engine.finest) _engine.logger.finest(this + " on "+_engine.getEngineid()+" ping...");
|
//if (_engine.finest) _engine.logger.finest(this + " on "+_engine.getEngineid()+" ping...");
|
||||||
return send(WebSocketPacket.DEFAULT_PING_PACKET);
|
return send(WebSocketPacket.DEFAULT_PING_PACKET);
|
||||||
@@ -149,6 +132,16 @@ public abstract class WebSocket {
|
|||||||
return createtime;
|
return createtime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送单一的二进制消息
|
||||||
|
*
|
||||||
|
* @param data byte[]
|
||||||
|
* @return 0表示成功, 非0表示错误码
|
||||||
|
*/
|
||||||
|
public final int send(byte[] data) {
|
||||||
|
return send(data, true);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送二进制消息
|
* 发送二进制消息
|
||||||
*
|
*
|
||||||
@@ -219,7 +212,7 @@ public abstract class WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给指定groupid的WebSocketGroup下最近活跃的WebSocket节点发送文本消息
|
* 给指定groupid的WebSocketGroup下最近接入的WebSocket节点发送文本消息
|
||||||
*
|
*
|
||||||
* @param groupid groupid
|
* @param groupid groupid
|
||||||
* @param text 不可为空
|
* @param text 不可为空
|
||||||
@@ -230,7 +223,7 @@ public abstract class WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给指定groupid的WebSocketGroup下最近活跃的WebSocket节点发送二进制消息
|
* 给指定groupid的WebSocketGroup下最近接入的WebSocket节点发送二进制消息
|
||||||
*
|
*
|
||||||
* @param groupid groupid
|
* @param groupid groupid
|
||||||
* @param data 不可为空
|
* @param data 不可为空
|
||||||
@@ -241,7 +234,7 @@ public abstract class WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给指定groupid的WebSocketGroup下最近活跃的WebSocket节点发送文本消息
|
* 给指定groupid的WebSocketGroup下最近接入的WebSocket节点发送文本消息
|
||||||
*
|
*
|
||||||
* @param groupid groupid
|
* @param groupid groupid
|
||||||
* @param text 不可为空
|
* @param text 不可为空
|
||||||
@@ -253,7 +246,7 @@ public abstract class WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给指定groupid的WebSocketGroup下最近活跃的WebSocket节点发送二进制消息
|
* 给指定groupid的WebSocketGroup下最近接入的WebSocket节点发送二进制消息
|
||||||
*
|
*
|
||||||
* @param groupid groupid
|
* @param groupid groupid
|
||||||
* @param data 不可为空
|
* @param data 不可为空
|
||||||
@@ -359,7 +352,7 @@ public abstract class WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取客户端真实地址
|
* 获取客户端真实地址 同 HttpRequest.getRemoteAddr()
|
||||||
*
|
*
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
@@ -387,13 +380,18 @@ public abstract class WebSocket {
|
|||||||
return _engine.getWebSocketGroup(groupid);
|
return _engine.getWebSocketGroup(groupid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前进程节点所有在线的WebSocketGroup
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
protected final Collection<WebSocketGroup> getWebSocketGroups() {
|
protected final Collection<WebSocketGroup> getWebSocketGroups() {
|
||||||
return _engine.getWebSocketGroups();
|
return _engine.getWebSocketGroups();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* 返回sessionid, null表示连接不合法或异常
|
* 返回sessionid, null表示连接不合法或异常,默认实现是request.getSessionid(false),通常需要重写该方法
|
||||||
*
|
*
|
||||||
* @param request HttpRequest
|
* @param request HttpRequest
|
||||||
* @return sessionid
|
* @return sessionid
|
||||||
@@ -403,13 +401,14 @@ public abstract class WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建groupid, null表示异常
|
* 创建groupid, null表示异常, 必须实现该方法, 通常为用户ID为groupid
|
||||||
*
|
*
|
||||||
* @return groupid
|
* @return groupid
|
||||||
*/
|
*/
|
||||||
protected abstract Serializable createGroupid();
|
protected abstract Serializable createGroupid();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 标记为WebSocketBinary才需要重写此方法
|
||||||
*
|
*
|
||||||
* @param channel 请求连接
|
* @param channel 请求连接
|
||||||
*/
|
*/
|
||||||
@@ -440,6 +439,13 @@ public abstract class WebSocket {
|
|||||||
public void onClose(int code, String reason) {
|
public void onClose(int code, String reason) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显式地关闭WebSocket
|
||||||
|
*/
|
||||||
|
public final void close() {
|
||||||
|
if (this._runner != null) this._runner.closeRunner();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "ws" + Objects.hashCode(this) + "@" + _remoteAddr;
|
return "ws" + Objects.hashCode(this) + "@" + _remoteAddr;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import static java.lang.annotation.ElementType.*;
|
|||||||
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 被标记为 @WebSocketBinary 的WebSocketServlet 将使用原始的TCP传输, 通常用于类似音频/视频传输场景
|
* 被标记为 @WebSocketBinary 的WebSocketServlet 将使用原始的TCP传输, 通常用于类似音频/视频传输场景
|
||||||
*
|
*
|
||||||
* <p> 详情见: http://www.redkale.org
|
* <p> 详情见: http://www.redkale.org
|
||||||
* @author zhangjx
|
* @author zhangjx
|
||||||
|
|||||||
Reference in New Issue
Block a user