Skip to content

Commit c39a350

Browse files
committed
Server/Client sample fix
1 parent 00694a6 commit c39a350

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

ClientSample/Program.cs

+6-9
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,11 @@ private static async Task RunClient()
4848
packet.Write("Hello Server from fully encrypted packet!");
4949
client.SendPacket(packet);
5050
packet.Dispose();
51-
52-
Thread.Sleep(3000);
53-
IEnumerable<Packet> packets = null;
54-
do
51+
52+
bool end = false;
53+
while (!end)
5554
{
56-
packets = client.ReceiveData(true);
57-
if (packets == null)
58-
break;
59-
55+
var packets = await client.ReceiveDataAsync(true);
6056
foreach (var pck in packets)
6157
{
6258
switch (pck.OpcodeNumber)
@@ -66,12 +62,13 @@ private static async Task RunClient()
6662
break;
6763
case (UInt16)ServerPacketTypes.SMSG_INIT_RESPONSE_ENCRYPTED_AES:
6864
Console.WriteLine(pck.ReadString());
65+
end = true;
6966
break;
7067
}
7168

7269
pck.Dispose();
7370
}
74-
} while (true);
71+
}
7572

7673
// CleanUP at the end
7774
aes.Dispose();

ServerSample/Program.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System;
66
using System.Linq;
77
using System.Security.Cryptography;
8+
using System.Threading;
89
using System.Threading.Tasks;
910

1011
namespace ServerSample
@@ -29,16 +30,13 @@ private static async Task RunServer()
2930
var tcpClient = await server.AcceptClientAsync();
3031
// Creates client instance
3132
var client = new Client(tcpClient);
32-
byte[] data = null;
3333
do
3434
{
35-
// Gets received data (everything that is in network pipe)
36-
data = client.ReceiveData();
37-
if (data == null)
38-
continue;
39-
35+
var data = await client.ReceiveDataAsync();
36+
var end = false;
4037
do
4138
{
39+
data = data.Any() ? data : await client.ReceiveDataAsync();
4240
var length = BitConverter.ToUInt16(data, 0);
4341
data = data.Skip(sizeof(UInt16)).ToArray();
4442
var packetData = data.Take(length).ToArray();
@@ -59,6 +57,7 @@ private static async Task RunServer()
5957
Console.WriteLine(packet.ReadString());
6058
response = new Packet(ServerPacketTypes.SMSG_INIT_RESPONSE_ENCRYPTED_AES);
6159
response.Write("Hello Client, We are now fully encrypted!");
60+
end = true;
6261
break;
6362
}
6463

@@ -69,11 +68,12 @@ private static async Task RunServer()
6968
}
7069

7170
data = data.Skip(length).ToArray();
72-
} while (data.Any());
71+
} while (!end);
7372

7473
break;
7574
} while (true);
7675

76+
Thread.Sleep(1000);
7777
aes.Dispose();
7878
client.Dispose();
7979
server.Dispose();

0 commit comments

Comments
 (0)