Commit c39a350 1 parent 00694a6 commit c39a350 Copy full SHA for c39a350
File tree 2 files changed +13
-16
lines changed
2 files changed +13
-16
lines changed Original file line number Diff line number Diff line change @@ -48,15 +48,11 @@ private static async Task RunClient()
48
48
packet . Write ( "Hello Server from fully encrypted packet!" ) ;
49
49
client . SendPacket ( packet ) ;
50
50
packet . Dispose ( ) ;
51
-
52
- Thread . Sleep ( 3000 ) ;
53
- IEnumerable < Packet > packets = null ;
54
- do
51
+
52
+ bool end = false ;
53
+ while ( ! end )
55
54
{
56
- packets = client . ReceiveData ( true ) ;
57
- if ( packets == null )
58
- break ;
59
-
55
+ var packets = await client . ReceiveDataAsync ( true ) ;
60
56
foreach ( var pck in packets )
61
57
{
62
58
switch ( pck . OpcodeNumber )
@@ -66,12 +62,13 @@ private static async Task RunClient()
66
62
break ;
67
63
case ( UInt16 ) ServerPacketTypes . SMSG_INIT_RESPONSE_ENCRYPTED_AES :
68
64
Console . WriteLine ( pck . ReadString ( ) ) ;
65
+ end = true ;
69
66
break ;
70
67
}
71
68
72
69
pck . Dispose ( ) ;
73
70
}
74
- } while ( true ) ;
71
+ }
75
72
76
73
// CleanUP at the end
77
74
aes . Dispose ( ) ;
Original file line number Diff line number Diff line change 5
5
using System ;
6
6
using System . Linq ;
7
7
using System . Security . Cryptography ;
8
+ using System . Threading ;
8
9
using System . Threading . Tasks ;
9
10
10
11
namespace ServerSample
@@ -29,16 +30,13 @@ private static async Task RunServer()
29
30
var tcpClient = await server . AcceptClientAsync ( ) ;
30
31
// Creates client instance
31
32
var client = new Client ( tcpClient ) ;
32
- byte [ ] data = null ;
33
33
do
34
34
{
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 ;
40
37
do
41
38
{
39
+ data = data . Any ( ) ? data : await client . ReceiveDataAsync ( ) ;
42
40
var length = BitConverter . ToUInt16 ( data , 0 ) ;
43
41
data = data . Skip ( sizeof ( UInt16 ) ) . ToArray ( ) ;
44
42
var packetData = data . Take ( length ) . ToArray ( ) ;
@@ -59,6 +57,7 @@ private static async Task RunServer()
59
57
Console . WriteLine ( packet . ReadString ( ) ) ;
60
58
response = new Packet ( ServerPacketTypes . SMSG_INIT_RESPONSE_ENCRYPTED_AES ) ;
61
59
response . Write ( "Hello Client, We are now fully encrypted!" ) ;
60
+ end = true ;
62
61
break ;
63
62
}
64
63
@@ -69,11 +68,12 @@ private static async Task RunServer()
69
68
}
70
69
71
70
data = data . Skip ( length ) . ToArray ( ) ;
72
- } while ( data . Any ( ) ) ;
71
+ } while ( ! end ) ;
73
72
74
73
break ;
75
74
} while ( true ) ;
76
75
76
+ Thread . Sleep ( 1000 ) ;
77
77
aes . Dispose ( ) ;
78
78
client . Dispose ( ) ;
79
79
server . Dispose ( ) ;
You can’t perform that action at this time.
0 commit comments