예제 #1
0
        public void Connect(string ip, int port)
        {
            try
            {
                if (_socket != null)
                {
                    Close(false);
                }
                _socket = new NetClient();
                AddEvent();
                _ip          = ip;
                _port        = port;
                _readOffset  = 0;
                _writeOffset = 0;

                _socket.Connect(new System.Net.IPEndPoint(System.Net.IPAddress.Parse(ip), port));
            }
            catch (Exception error)
            {
                EventManager.instance.DispatchEvent(this, SocketEvent.SOCKET_ERROR, error.Message);
            }
        }
예제 #2
0
 public void Close(bool isEvent = true)
 {
     if (_socket != null)
     {
         RemoveEvent();
         if (_socket.State == Basic.Net.Sockets.SocketState.Connected)
         {
             try
             {
                 _socket.Close("Just Close");
                 _socket = null;
             }
             catch (Exception e)
             {
                 Console.WriteLine(e.Message);
             }
         }
         if (isEvent)
         {
             EventManager.instance.DispatchEvent(this, SocketEvent.SOCKET_CLOSE);
         }
     }
 }