Aegis.Network.Session.Connect C# (CSharp) Method

Connect() public method

서버에 연결을 요청합니다. 연결요청의 결과는 EventConnect 통해 전달됩니다. 현재 이 Session이 비활성 상태인 경우에만 수행됩니다.
public Connect ( string hostName, int portNo ) : void
hostName string 접속할 서버의 Dns 혹은 Ip Address
portNo int 접속할 서버의 PortNo
return void
        public virtual void Connect(string hostName, int portNo)
        {
            if (PacketValidator == null)
                throw new AegisException(AegisResult.InvalidArgument, "PacketValidator is not set.");

            lock (this)
            {
                if (Socket != null)
                    throw new AegisException(AegisResult.ActivatedSession, "This session has already been activated.");

                string ipAddress = Dns.GetHostAddresses(hostName)[0].ToString();

                //  연결 시도
                IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse(ipAddress), portNo);
                Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Socket.BeginConnect(ipEndPoint, Socket_Connect, null);
            }
        }

Same methods

Session::Connect ( string hostName, int portNo, Action actionOnResult ) : void

Usage Example

Beispiel #1
0
        public async Task <Boolean> Connect(String ipAddress, Int32 portNo)
        {
            Boolean ret = false;

            _tcsConnect = new TaskCompletionSource <Boolean>();
            _session.Connect(ipAddress, portNo);
            await Task.Run(() => ret = _tcsConnect.Task.Result);

            return(ret);
        }
All Usage Examples Of Aegis.Network.Session::Connect