Commit bbc1f717 authored by Him188moe's avatar Him188moe

update

parent 14ffda6a
...@@ -5,6 +5,7 @@ import lombok.extern.log4j.Log4j2; ...@@ -5,6 +5,7 @@ import lombok.extern.log4j.Log4j2;
import net.mamoe.mirai.event.MiraiEventManager; import net.mamoe.mirai.event.MiraiEventManager;
import net.mamoe.mirai.event.events.server.ServerDisableEvent; import net.mamoe.mirai.event.events.server.ServerDisableEvent;
import net.mamoe.mirai.event.events.server.ServerEnableEvent; import net.mamoe.mirai.event.events.server.ServerEnableEvent;
import net.mamoe.mirai.network.Protocol;
import net.mamoe.mirai.network.Robot; import net.mamoe.mirai.network.Robot;
import net.mamoe.mirai.task.MiraiTaskManager; import net.mamoe.mirai.task.MiraiTaskManager;
import net.mamoe.mirai.utils.LoggerTextFormat; import net.mamoe.mirai.utils.LoggerTextFormat;
...@@ -94,7 +95,13 @@ public class MiraiServer { ...@@ -94,7 +95,13 @@ public class MiraiServer {
}); });
*/ */
new Robot(1994701021L); Robot robot = new Robot(1994701021L);
try {
robot.connect(Protocol.SERVER_IP.get(2), 8000);
} catch (InterruptedException e) {
e.printStackTrace();
System.exit(1);
}
/* /*
System.out.println("network test"); System.out.println("network test");
try { try {
......
...@@ -9,7 +9,6 @@ import io.netty.channel.socket.SocketChannel ...@@ -9,7 +9,6 @@ import io.netty.channel.socket.SocketChannel
import io.netty.channel.socket.nio.NioSocketChannel import io.netty.channel.socket.nio.NioSocketChannel
import io.netty.handler.codec.bytes.ByteArrayDecoder import io.netty.handler.codec.bytes.ByteArrayDecoder
import io.netty.handler.codec.bytes.ByteArrayEncoder import io.netty.handler.codec.bytes.ByteArrayEncoder
import lombok.extern.log4j.Log4j2
import net.mamoe.mirai.MiraiServer import net.mamoe.mirai.MiraiServer
import net.mamoe.mirai.network.packet.Packet import net.mamoe.mirai.network.packet.Packet
import net.mamoe.mirai.network.packet.client.Client0825ResponsePacket import net.mamoe.mirai.network.packet.client.Client0825ResponsePacket
...@@ -53,7 +52,29 @@ class Robot(val number: Long) { ...@@ -53,7 +52,29 @@ class Robot(val number: Long) {
println("connected server...") println("connected server...")
ch.pipeline().addLast(ByteArrayEncoder()) ch.pipeline().addLast(ByteArrayEncoder())
ch.pipeline().addLast(ByteArrayDecoder()) ch.pipeline().addLast(ByteArrayDecoder())
ch.pipeline().addLast(ClientHandler(this@Robot)) ch.pipeline().addLast(object : SimpleChannelInboundHandler<ByteArray>() {
override fun channelRead0(ctx: ChannelHandlerContext?, bytes: ByteArray) {
try {
/*val remaining = Reader.read(bytes);
if (Reader.isPacketAvailable()) {
robot.onPacketReceived(Reader.toServerPacket())
Reader.init()
remaining
}*/
this@Robot.onPacketReceived(ServerPacket.ofByteArray(bytes))
} catch (e: Exception) {
MiraiServer.getLogger().catching(e)
}
}
override fun channelActive(ctx: ChannelHandlerContext) {
println("Successfully connected to server")
}
override fun exceptionCaught(ctx: ChannelHandlerContext, cause: Throwable) {
MiraiServer.getLogger().catching(cause)
}
})
} }
}) })
...@@ -65,8 +86,6 @@ class Robot(val number: Long) { ...@@ -65,8 +86,6 @@ class Robot(val number: Long) {
} }
} }
@Log4j2
private class ClientHandler(val robot: Robot) : SimpleChannelInboundHandler<ByteArray>() {
private object Reader { private object Reader {
private var length: Int? = null private var length: Int? = null
private lateinit var bytes: ByteArray private lateinit var bytes: ByteArray
...@@ -98,27 +117,4 @@ class Robot(val number: Long) { ...@@ -98,27 +117,4 @@ class Robot(val number: Long) {
return ServerPacket.ofByteArray(this.bytes) return ServerPacket.ofByteArray(this.bytes)
} }
} }
override fun channelRead0(ctx: ChannelHandlerContext?, bytes: ByteArray) {
try {
/*val remaining = Reader.read(bytes);
if (Reader.isPacketAvailable()) {
robot.onPacketReceived(Reader.toServerPacket())
Reader.init()
remaining
}*/
robot.onPacketReceived(ServerPacket.ofByteArray(bytes))
} catch (e: Exception) {
MiraiServer.getLogger().catching(e)
}
}
override fun channelActive(ctx: ChannelHandlerContext) {
println("Successfully connected to server")
}
override fun exceptionCaught(ctx: ChannelHandlerContext, cause: Throwable) {
MiraiServer.getLogger().catching(cause)
}
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment