diff options
Diffstat (limited to 'samples/SimpleMessaging/RequestReplyStyleClient/Program.cs')
-rw-r--r-- | samples/SimpleMessaging/RequestReplyStyleClient/Program.cs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/samples/SimpleMessaging/RequestReplyStyleClient/Program.cs b/samples/SimpleMessaging/RequestReplyStyleClient/Program.cs new file mode 100644 index 0000000..7916b96 --- /dev/null +++ b/samples/SimpleMessaging/RequestReplyStyleClient/Program.cs @@ -0,0 +1,43 @@ +using System; +using Hik.Communication.Scs.Client; +using Hik.Communication.Scs.Communication.EndPoints.Tcp; +using Hik.Communication.Scs.Communication.Messages; +using Hik.Communication.Scs.Communication.Messengers; + +/* This program is build to demonstrate a client application that connects to a server + * and sends/receives messages in using RequestReplyMessenger. + */ + +namespace RequestReplyStyleClient +{ + class Program + { + static void Main() + { + Console.WriteLine("Press enter to connect to the server..."); + Console.ReadLine(); //Wait user to press enter + + //Create a client object to connect a server on 127.0.0.1 (local) IP and listens 10085 TCP port + using (var client = ScsClientFactory.CreateClient(new ScsTcpEndPoint("127.0.0.1", 10085))) + { + //Create a RequestReplyMessenger that uses the client as internal messenger. + using (var requestReplyMessenger = new RequestReplyMessenger<IScsClient>(client)) + { + requestReplyMessenger.Start(); //Start request/reply messenger + client.Connect(); //Connect to the server + + Console.Write("Write some message to be sent to server: "); + var messageText = Console.ReadLine(); //Get a message from user + + //Send user message to the server and get response + var response = requestReplyMessenger.SendMessageAndWaitForResponse(new ScsTextMessage(messageText)); + + Console.WriteLine("Response to message: " + ((ScsTextMessage) response).Text); + + Console.WriteLine("Press enter to disconnect from server..."); + Console.ReadLine(); //Wait user to press enter + } + } + } + } +} |