|
|
@@ -1,6 +1,7 @@
|
|
|
using System.Threading;
|
|
|
using ENet;
|
|
|
using Helper;
|
|
|
+using Log;
|
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
|
|
|
|
namespace ENetCSTest
|
|
|
@@ -10,38 +11,39 @@ namespace ENetCSTest
|
|
|
{
|
|
|
private static async void ClientEvent(ClientHost host, Address address)
|
|
|
{
|
|
|
- using (var peer = await host.ConnectAsync(address))
|
|
|
+ var peer = await host.ConnectAsync(address);
|
|
|
+ using (var sPacket = new Packet("0123456789".ToByteArray(), PacketFlags.Reliable))
|
|
|
{
|
|
|
- using (var sPacket = new Packet("0123456789".ToByteArray(), PacketFlags.Reliable))
|
|
|
- {
|
|
|
- peer.Send(0, sPacket);
|
|
|
- }
|
|
|
-
|
|
|
- using (var rPacket = await peer.ReceiveAsync())
|
|
|
- {
|
|
|
- CollectionAssert.AreEqual("9876543210".ToByteArray(), rPacket.Bytes);
|
|
|
- }
|
|
|
+ peer.Send(0, sPacket);
|
|
|
+ }
|
|
|
|
|
|
- await peer.DisconnectLaterAsync();
|
|
|
+ using (var rPacket = await peer.ReceiveAsync())
|
|
|
+ {
|
|
|
+ Logger.Debug(rPacket.Bytes.ToStr());
|
|
|
+ CollectionAssert.AreEqual("9876543210".ToByteArray(), rPacket.Bytes);
|
|
|
}
|
|
|
+
|
|
|
+ await peer.DisconnectAsync();
|
|
|
+
|
|
|
host.Stop();
|
|
|
}
|
|
|
|
|
|
- private static async void OnAccept(ServerHost host, Peer peer)
|
|
|
+ private static async void ServerEvent(ServerHost host)
|
|
|
{
|
|
|
+ var peer = await host.AcceptAsync();
|
|
|
+ // Client断开,Server端收到Disconnect事件,结束Server线程
|
|
|
+ peer.PeerEvent.Disconnect += ev => host.Stop();
|
|
|
+
|
|
|
using (var rPacket = await peer.ReceiveAsync())
|
|
|
{
|
|
|
+ Logger.Debug(rPacket.Bytes.ToStr());
|
|
|
CollectionAssert.AreEqual("0123456789".ToByteArray(), rPacket.Bytes);
|
|
|
}
|
|
|
|
|
|
- using(var sPacket = new Packet("9876543210".ToByteArray(), PacketFlags.Reliable))
|
|
|
+ using (var sPacket = new Packet("9876543210".ToByteArray(), PacketFlags.Reliable))
|
|
|
{
|
|
|
peer.Send(0, sPacket);
|
|
|
- host.Flush();
|
|
|
}
|
|
|
-
|
|
|
- // Client断开,Server端收到Disconnect事件,结束Server线程
|
|
|
- peer.PeerEvent.Disconnect += (ev) => host.Stop();
|
|
|
}
|
|
|
|
|
|
[TestMethod]
|
|
|
@@ -51,9 +53,6 @@ namespace ENetCSTest
|
|
|
var clientHost = new ClientHost();
|
|
|
var serverHost = new ServerHost(address);
|
|
|
|
|
|
- // accept回调事件
|
|
|
- serverHost.AcceptEvent = peer => OnAccept(serverHost, peer);
|
|
|
-
|
|
|
var serverThread = new Thread(() => serverHost.Start(10));
|
|
|
var clientThread = new Thread(() => clientHost.Start(10));
|
|
|
|
|
|
@@ -63,6 +62,9 @@ namespace ENetCSTest
|
|
|
// 往client host线程增加事件,client线程连接server
|
|
|
clientHost.Events += () => ClientEvent(clientHost, address);
|
|
|
|
|
|
+ // 往server host线程增加事件,accept
|
|
|
+ serverHost.Events += () => ServerEvent(serverHost);
|
|
|
+
|
|
|
serverThread.Join();
|
|
|
clientThread.Join();
|
|
|
}
|