Пример #1
0
        /// <summary>
        /// 连接
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <param name="callBackConnect">发起连接的回调</param>
        /// <param name="callBackRecv">接收消息回调</param>
        public void AsyncConnect(string ip, ushort port, CallBackNormal callBackConnect, CallBackRecv callBackRecv)
        {
            errorSocket          = ErrorSocket.Success;
            this.callBackConnect = callBackConnect;
            this.callBackRecv    = callBackRecv;


            if (clientSocket != null && clientSocket.Connected)
            {
                this.callBackConnect(false, ErrorSocket.ConnectError, "connect repeat");
            }
            else if (clientSocket == null || !clientSocket.Connected)
            {
                clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

                IPAddress address = IPAddress.Parse(ip);

                IPEndPoint ipep = new IPEndPoint(address, port);

                IAsyncResult ar = clientSocket.BeginConnect(ipep, ConnectCallBack, clientSocket);

                if (!WriteDot(ar))
                {
                    this.callBackConnect(false, errorSocket, "连接超时");
                }
            }
        }
Пример #2
0
    /// <summary>
    /// 连接服务器
    /// </summary>
    /// <param name="ip"></param>
    /// <param name="port"></param>
    /// <param name="connectBack"></param>
    /// <param name="callBackRecv"></param>
    public void AsyncConnect(string ip, ushort port, CallBackNormal connectBack, CallBackRecv callBackRecv)
    {
        errorSocket = ErrorSocket.Sucess;

        this.callBackConnect = connectBack;
        this.callBackRecv    = callBackRecv;


        if (clientSocket != null && clientSocket.Connected)               // 已经连接
        {
            this.callBackConnect(false, ErrorSocket.ConnetcErrot, "connect repeat!");
        }
        else if (clientSocket == null || !clientSocket.Connected)         // 没有连接则开始连接
        {
            clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse(ip), port);

            IAsyncResult connent = clientSocket.BeginConnect(endPoint, OnConnectCallback, clientSocket);
            if (!WriteDot(connent))
            {
                this.callBackConnect(false, errorSocket, "连接超时!");
                clientSocket.EndConnect(connent);
            }
        }
    }
Пример #3
0
    public void AsyncConnect(string _ip, ushort _port, CallBackNormal _connectBack, CallBackRecv _callBackRecv)
    {
        errorSocket     = ErrorSocket.Sucess;
        callBackConnect = _connectBack;
        callBackRecv    = _callBackRecv;

        if (clientSocket != null && clientSocket.Connected)
        {
            this.callBackConnect(false, ErrorSocket.ConnectError, "connect repeat");
        }
        else if (clientSocket == null || !clientSocket.Connected)
        {
            clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            IPAddress ipAdress = IPAddress.Parse(_ip);

            IPEndPoint endPoint = new IPEndPoint(ipAdress, _port);

            IAsyncResult connect = clientSocket.BeginConnect(endPoint, ConnectCallBack, clientSocket);
            if (!WriteDot(connect))
            {
                callBackConnect(false, errorSocket, "链接超时");
            }
        }
    }
Пример #4
0
    public void AsyncConnnect(string ip, ushort port, CallBackNormal connectBack, CallBackNormal sendBack, CallBackRecv recvBack, CallBackNormal disBack)
    {
        errorSocket = ErrorSocket.Sucess;

        this.callBackConnect = connectBack;

        this.callBackRecv = recvBack;

        this.callBackSend = sendBack;

        this.callBackDisconnect = disBack;




        if (clientSocket != null && clientSocket.Connected)
        {

            this.callBackConnect(false,ErrorSocket.ConnectError,"connect repeat");
        }
        else if (clientSocket == null || !clientSocket.Connected)
        {

            clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

            IPAddress ipAdress = IPAddress.Parse(ip);

            IPEndPoint endPoint = new IPEndPoint(ipAdress,port);

           IAsyncResult   connect =     clientSocket.BeginConnect(endPoint, ConnectCallBack,clientSocket);

            // 超时处理
           if (!WriteDot(connect))
           {
               this.callBackConnect(false, errorSocket, "连接超时");
           }



        }


    }