3030using System . Buffers ;
3131using Microsoft . Win32 ;
3232using NetworkLibrary . Components . Statistics ;
33+ using ProtoBuf ;
3334
3435namespace ConsoleTest
3536{
@@ -58,10 +59,11 @@ internal class Program
5859 static void Main ( string [ ] args )
5960 {
6061 MiniLogger . AllLog += ( log ) => Console . WriteLine ( log ) ;
62+ ExampleProtoSecure ( ) ;
6163 //PoolTest();
6264 //UdpProtoTest();
6365 //EnvelopeTest();
64- RelayTest ( ) ;
66+ // RelayTest();
6567 //ByteCopyTest();
6668 //BitConverterTest();
6769 //ByteCopyTest2();
@@ -80,6 +82,46 @@ static void Main(string[] args)
8082
8183
8284 }
85+ [ ProtoContract ]
86+ class SamplePayload : IProtoMessage
87+ {
88+ [ ProtoMember ( 1 ) ]
89+ public string sample ;
90+ }
91+
92+ private static async Task ExampleProtoSecure ( )
93+ {
94+ var scert = new X509Certificate2 ( "server.pfx" , "greenpass" ) ;
95+ var cert = new X509Certificate2 ( "client.pfx" , "greenpass" ) ;
96+
97+ SecureProtoServer server = new SecureProtoServer ( 20008 , 100 , scert ) ;
98+ server . OnMessageReceived += ServerMessageReceived ;
99+
100+ var client = new SecureProtoClient ( cert ) ;
101+ client . OnMessageReceived += ClientMessageReceived ;
102+ client . Connect ( "127.0.0.1" , 20008 ) ;
103+
104+ var Payload = new SamplePayload ( ) { sample = "Hello" } ;
105+ var messageEnvelope = new MessageEnvelope ( ) ;
106+
107+ // You can just send a message, get replies on ClientMessageReceived.
108+ client . SendAsyncMessage ( messageEnvelope ) ;
109+ client . SendAsyncMessage ( messageEnvelope , Payload ) ;
110+
111+ // Or you can wait for a reply async.
112+ MessageEnvelope result = await client . SendMessageAndWaitResponse ( messageEnvelope , Payload ) ;
113+ var payload = result . UnpackPayload < SamplePayload > ( ) ;
114+
115+ void ServerMessageReceived ( in Guid clientId , MessageEnvelope message )
116+ {
117+ server . SendAsyncMessage ( in clientId , message ) ;
118+ }
119+
120+ void ClientMessageReceived ( MessageEnvelope message )
121+ {
122+ }
123+ }
124+
83125
84126 private static void PoolTest ( )
85127 {
0 commit comments