Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
0e032cf9
Commit
0e032cf9
authored
Aug 08, 2019
by
liujiahua123123
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
9335caba
825965e3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
81 additions
and
32 deletions
+81
-32
mirai-core/pom.xml
mirai-core/pom.xml
+1
-19
mirai-core/src/main/java/net/mamoe/mirai/network/NetworkPacketHandler.java
...in/java/net/mamoe/mirai/network/NetworkPacketHandler.java
+9
-9
mirai-core/src/main/java/net/mamoe/mirai/network/packet/PacketUtil.java
.../main/java/net/mamoe/mirai/network/packet/PacketUtil.java
+20
-0
mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientHeartbeatPacket.java
...oe/mirai/network/packet/client/ClientHeartbeatPacket.java
+13
-0
mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientPacket.java
...a/net/mamoe/mirai/network/packet/client/ClientPacket.java
+35
-3
mirai-core/src/test/java/NetworkTest.java
mirai-core/src/test/java/NetworkTest.java
+3
-1
No files found.
mirai-core/pom.xml
View file @
0e032cf9
...
...
@@ -6,24 +6,6 @@
<artifactId>
mirai-core
</artifactId>
<version>
1.0
</version>
<dependencies>
<dependency>
<groupId>
net.mamoe
</groupId>
<artifactId>
jpre
</artifactId>
<version>
1.0.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.jetbrains.kotlin
</groupId>
<artifactId>
kotlin-stdlib-jdk8
</artifactId>
<version>
${kotlin.version}
</version>
</dependency>
<dependency>
<groupId>
org.jetbrains.kotlin
</groupId>
<artifactId>
kotlin-test
</artifactId>
<version>
${kotlin.version}
</version>
<scope>
test
</scope>
</dependency>
</dependencies>
<packaging>
jar
</packaging>
...
...
@@ -95,7 +77,7 @@
<executions>
<execution>
<id>
compile
</id>
<phase>
compile
</phase>
<phase>
process-sources
</phase>
<goals>
<goal>
compile
</goal>
</goals>
...
...
mirai-core/src/main/java/net/mamoe/mirai/network/NetworkPacketHandler.java
View file @
0e032cf9
...
...
@@ -4,7 +4,6 @@ import io.netty.channel.ChannelHandlerContext;
import
io.netty.channel.SimpleChannelInboundHandler
;
import
java.io.IOException
;
import
java.net.InetSocketAddress
;
/**
* 网络数据包接收器. 该类属于网络层, 插件一般不需要使用
...
...
@@ -31,7 +30,7 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
* Synchronized by {@code synchronized (this)} in {@link #channelRead0}
*/
private
void
handlePacket
(
ChannelHandlerContext
ctx
,
byte
[]
data
)
{
try
{
/*
try {
temp = Utils.arrayAppend(temp, data);
while (temp.length != 0) {
int position = Utils.arraySearch(temp, Protocol.SIGNATURE);
...
...
@@ -46,7 +45,7 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
}
} catch (Exception e) {
e.printStackTrace();
}
}
*/
}
//TODO 改为 public, 并将 ctx 改为插件可扩展的消息源以实现多源化
...
...
@@ -54,12 +53,12 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
if
(
data
.
length
==
0
)
{
return
;
}
processPacket
(
ctx
,
new
BinaryStream
(
data
));
processPacket
(
ctx
,
new
BinaryStream
());
}
private
void
processPacket
(
ChannelHandlerContext
ctx
,
BinaryStream
stream
)
{
//System.out.println(stream);
for
(
MPQClient
client
:
clients
)
{
/*
for (MPQClient client : clients) {
if (client.is((InetSocketAddress) ctx.channel().remoteAddress())) {
client.getFrame().getScheduler().addTask(() -> {
try {
...
...
@@ -70,7 +69,7 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
});
return;
}
}
}
*/
}
@Override
...
...
@@ -86,6 +85,7 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
public
void
channelActive
(
ChannelHandlerContext
ctx
)
throws
Exception
{
super
.
channelActive
(
ctx
);
/*
FrameConnectionEvent event = null;
for (MPQClient client : clients) {
if (client.is((InetSocketAddress) ctx.channel().remoteAddress())) {
...
...
@@ -103,13 +103,13 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
event = new FrameConnectionEvent(frame);
}
event
.
getFrame
().
getPluginManager
().
callEvent
(
event
);
event.getFrame().getPluginManager().callEvent(event);
*/
}
@Override
public
void
channelInactive
(
ChannelHandlerContext
ctx
)
throws
Exception
{
System
.
out
.
println
(
"[Network] RemoteClient: "
+
ctx
.
channel
().
remoteAddress
()
+
" disconnected."
);
/*
for (MPQClient client : clients) {
if (client.is((InetSocketAddress) ctx.channel().remoteAddress())) {
FrameDisconnectionEvent event = new FrameDisconnectionEvent(client.getFrame());
...
...
@@ -117,7 +117,7 @@ public class NetworkPacketHandler extends SimpleChannelInboundHandler<byte[]> {
break;
}
}
*/
super
.
channelInactive
(
ctx
);
}
}
\ No newline at end of file
mirai-core/src/main/java/net/mamoe/mirai/network/packet/PacketUtil.java
0 → 100644
View file @
0e032cf9
package
net.mamoe.mirai.network.packet
;
/**
* @author Him188moe @ Mirai Project
*/
public
final
class
PacketUtil
{
/**
* 易语言返回的 string(valueof
*/
public
static
int
getGTK
(
String
sKey
)
{
int
init
=
5381
;
int
i
=
0
;
int
length
=
sKey
.
length
();
while
(
i
++
<
length
)
{
init
+=
init
<<
5
+
sKey
.
charAt
(
i
);
}
return
init
&
2147483647
;
}
}
mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientHeartbeatPacket.java
0 → 100644
View file @
0e032cf9
package
net.mamoe.mirai.network.packet.client
;
import
java.io.IOException
;
/**
* @author Him188moe @ Mirai Project
*/
public
class
ClientHeartbeatPacket
extends
ClientPacket
{
@Override
public
void
encode
()
throws
IOException
{
}
}
mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientPacket.java
View file @
0e032cf9
...
...
@@ -4,6 +4,8 @@ import net.mamoe.mirai.network.packet.Packet;
import
java.io.ByteArrayOutputStream
;
import
java.io.DataOutputStream
;
import
java.io.IOException
;
import
java.util.Arrays
;
/**
* @author Him188moe @ Mirai Project
...
...
@@ -13,12 +15,42 @@ public abstract class ClientPacket extends DataOutputStream implements Packet {
super
(
new
ByteArrayOutputStream
());
}
protected
void
writeQQHex
(
long
qq
)
{
this
.
write
private
final
byte
packageId
;
{
packageId
=
0x0058
;
}
protected
void
writeHead
()
throws
IOException
{
this
.
writeByte
(
0x02
);
}
public
static
void
main
(
String
[]
args
)
throws
IOException
{
var
pk
=
new
ClientPacket
()
{
@Override
public
void
encode
()
throws
IOException
{
writeHead
();
}
};
pk
.
encode
();
System
.
out
.
println
(
Arrays
.
toString
(((
ByteArrayOutputStream
)
pk
.
out
).
toByteArray
()));
}
protected
void
writeVersion
()
throws
IOException
{
this
.
writeByte
(
0x37_13
);
}
protected
void
writePacketId
()
{
}
protected
void
writeQQ
(
long
qq
)
throws
IOException
{
this
.
writeLong
(
qq
);
}
/**
* Encode this packet
*/
public
abstract
void
encode
();
public
abstract
void
encode
()
throws
IOException
;
}
mirai-core/src/test/java/NetworkTest.java
View file @
0e032cf9
...
...
@@ -4,7 +4,9 @@
public
class
NetworkTest
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
Short
.
valueOf
(
"37 13"
,
16
));
Long
.
valueOf
(
""
,
16
);
System
.
out
.
println
(
1040400290L
&
0x0FFFFFFFF
);
System
.
out
.
println
(
Long
.
valueOf
(
"3E033FA2"
,
16
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment