예제 #1
0
    public void Connect(string host, int port, int connectionID)
    {
        Clean();

        mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        IPAddress  ipa = IPAddress.Parse(host);
        IPEndPoint iep = new IPEndPoint(ipa, port);

        if (mAnsy)
        {
            ConnectArg arg = new ConnectArg();
            arg.AcceptSocket   = mSocket;
            arg.callBack       = OnConnect;
            arg.RemoteEndPoint = iep;
            arg.UserToken      = connectionID;
            bool res = mSocket.ConnectAsync(arg);
            mConnecting = true;
        }
        else
        {
            try
            {
                mSocket.Connect(iep);//连接到服务器
            }
            catch (SocketException exc)
            {
                onNetConnected.Invoke(false, (SocketError)exc.ErrorCode, connectionID);
            }
            onNetConnected.Invoke(true, SocketError.Success, connectionID);
            BeginAccept();
        }
    }
예제 #2
0
    public void Connect(string host, int port, int connectionID)
    {
        Clean();

        mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        IPAddress ipa = IPAddress.Parse(host);
        IPEndPoint iep = new IPEndPoint(ipa, port);

        if (mAnsy)
        {
            ConnectArg arg = new ConnectArg();
            arg.AcceptSocket = mSocket;
            arg.callBack = OnConnect;
            arg.RemoteEndPoint = iep;
            arg.UserToken = connectionID;
            bool res = mSocket.ConnectAsync(arg);
            mConnecting = true;
        }
        else
        {
            try
            {
                mSocket.Connect(iep);//连接到服务器
            }
            catch (SocketException exc)
            {
                onNetConnected.Invoke(false, (SocketError)exc.ErrorCode, connectionID);
            }
            onNetConnected.Invoke(true, SocketError.Success, connectionID);
            BeginAccept();
        }
    }