ACPAddIn.Client.invokeRemote C# (CSharp) Method

invokeRemote() private method

private invokeRemote ( Operation operation ) : OperationResult
operation Operation
return ACPAddIn.Object_Class.OperationResult
        private OperationResult invokeRemote(Operation operation)
        {
            OperationResult result = null;
            TcpClient clientSocket = new TcpClient();
            try
            {
                clientSocket.Connect(host, port);

                NetworkStream serverStream = clientSocket.GetStream();
                StreamWriter clientStreamWriter = new StreamWriter(serverStream);
                StreamReader clientStreamReader = new StreamReader(serverStream);

                String jsonOperation = JsonConvert.SerializeObject(operation);

                clientStreamWriter.WriteLine(jsonOperation);
                clientStreamWriter.Flush();

                String replyJson = clientStreamReader.ReadLine();
                if (replyJson != null)
                {
                    result = JsonConvert.DeserializeObject<OperationResult>(replyJson);
                }

                clientStreamReader.Close();
                clientStreamWriter.Close();
            }
            catch (SocketException e)
            {
                throw e;
            }
            finally
            {
                clientSocket.Close();
            }

            return result;
        }