public class SocketSession extends xyz.noark.core.network.AbstractSession implements IncodeSession
| 限定符和类型 | 字段和说明 |
|---|---|
protected java.util.Map<xyz.noark.core.network.SessionAttrKey<?>,xyz.noark.core.network.SessionAttr<?>> |
attrs
Session中存储的属性值
|
protected io.netty.channel.Channel |
channel |
protected int |
incode
自增校验位
|
protected xyz.noark.core.network.PacketEncrypt |
packetEncrypt |
| 构造器和说明 |
|---|
SocketSession(io.netty.channel.Channel channel,
boolean encrypt,
byte[] secretKey) |
| 限定符和类型 | 方法和说明 |
|---|---|
<T> xyz.noark.core.network.SessionAttr<T> |
attr(xyz.noark.core.network.SessionAttrKey<T> key) |
protected xyz.noark.core.lang.ByteArray |
buildPacket(java.lang.Integer opcode,
java.lang.Object protocal)
构建发送的封包对象.
|
void |
clearUidAndPlayerId() |
void |
close() |
int |
getIncode()
获取自增校验位
|
xyz.noark.core.network.PacketEncrypt |
getPacketEncrypt() |
java.io.Serializable |
getPlayerId() |
java.lang.String |
getUid() |
void |
send(xyz.noark.core.lang.ByteArray packet) |
void |
send(java.lang.Integer opcode,
java.lang.Object protocal) |
void |
send(xyz.noark.core.network.NetworkProtocal networkProtocal) |
void |
sendAndClose(java.lang.Integer opcode,
java.lang.Object protocal) |
void |
setIncode(int incode)
设置自增校验位
|
void |
setPacketEncrypt(xyz.noark.core.network.PacketEncrypt packetEncrypt)
设计封包密码方案.
|
void |
setPlayerId(java.io.Serializable playerId)
设置玩家ID.
|
void |
setUid(java.lang.String uid)
设置玩家UID.
|
protected void |
writeAndFlush(xyz.noark.core.lang.ByteArray packet)
发送封包逻辑.
|
protected final io.netty.channel.Channel channel
protected final java.util.Map<xyz.noark.core.network.SessionAttrKey<?>,xyz.noark.core.network.SessionAttr<?>> attrs
protected xyz.noark.core.network.PacketEncrypt packetEncrypt
protected int incode
public SocketSession(io.netty.channel.Channel channel,
boolean encrypt,
byte[] secretKey)
public int getIncode()
IncodeSessiongetIncode 在接口中 IncodeSessionpublic void setIncode(int incode)
IncodeSessionsetIncode 在接口中 IncodeSessionincode - 自增校验位public void close()
close 在接口中 xyz.noark.core.network.Sessionpublic java.lang.String getUid()
getUid 在接口中 xyz.noark.core.network.Sessionpublic void setUid(java.lang.String uid)
uid - 玩家UIDpublic java.io.Serializable getPlayerId()
getPlayerId 在接口中 xyz.noark.core.network.Sessionpublic void setPlayerId(java.io.Serializable playerId)
这个值只能在设置玩家UId后调用.
playerId - 玩家IDpublic void send(java.lang.Integer opcode,
java.lang.Object protocal)
send 在接口中 xyz.noark.core.network.Sessionpublic void send(xyz.noark.core.lang.ByteArray packet)
send 在接口中 xyz.noark.core.network.Sessionpublic void send(xyz.noark.core.network.NetworkProtocal networkProtocal)
send 在接口中 xyz.noark.core.network.Sessionprotected void writeAndFlush(xyz.noark.core.lang.ByteArray packet)
packet - 封包逻辑public void sendAndClose(java.lang.Integer opcode,
java.lang.Object protocal)
sendAndClose 在接口中 xyz.noark.core.network.Sessionprotected xyz.noark.core.lang.ByteArray buildPacket(java.lang.Integer opcode,
java.lang.Object protocal)
opcode - 协议编号protocal - 协议内容public void setPacketEncrypt(xyz.noark.core.network.PacketEncrypt packetEncrypt)
当不喜欢默认的方案可以自己实现此接口重置加密方案
packetEncrypt - 封包密码方案public xyz.noark.core.network.PacketEncrypt getPacketEncrypt()
getPacketEncrypt 在接口中 xyz.noark.core.network.Sessionpublic <T> xyz.noark.core.network.SessionAttr<T> attr(xyz.noark.core.network.SessionAttrKey<T> key)
attr 在接口中 xyz.noark.core.network.SessionAttrMappublic void clearUidAndPlayerId()
clearUidAndPlayerId 在接口中 xyz.noark.core.network.Session