Esempio n. 1
0
        private void BtnConnectIO_Click(object sender, RoutedEventArgs e)
        {
            if (IOSocket == null)
            {
                IOSocket = new SocketManager("127.0.0.1:10001");

                IOSocket.ConnectState += IOSocket_ConnectState;

                if (IOSocket.Connect())
                {
                    IOSocket.DataReceived += IOSocket_DataReceived;
                    IOSocket.StartReceiveAsync();
                }
            }
            else
            {
                IOSocket.StopReceiveAsync();
                IOSocket.Close();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Dispose
        /// </summary>
        public void Dispose()
        {
            try
            {
                if (IOSocket != null)
                {
                    IOSocket.Shutdown(SocketShutdown.Both);
                }

                _receiveArgs.Dispose();
                _sendArgs.Dispose();

                _sendQueue.Clear();
                _receiveQueue.Clear();
                _decodeTempList.Clear();

                if (_packageParser != null)
                {
                    _packageParser.Dispose();
                }

                _isSending   = false;
                _isReceiving = false;
            }
            catch (Exception)
            {
                // throws if client process has already closed, so it is not necessary to catch.
            }
            finally
            {
                if (IOSocket != null)
                {
                    IOSocket.Close();
                    IOSocket = null;
                }
            }
        }