Example #1
0
        /// <summary>
        /// 连接
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        public void Connect(string ip, int port)
        {
            //// 暂时先这样,以后修改为在外部处理 2015年12月23日 16:25:48
            //Close();

            mSession = mSocket.Connect(ip, port);
            mSession.SetHandleReceive(Receive);
            mSocket.ReceiveCompleted = OnReceive;
            mSession.mNetType = Net.ENet.UdpClient;

            if (Connected != null)
                Connected(Net.ENet.UdpClient, mSession);
        }
Example #2
0
        /// <summary>
        /// 接收到数据
        /// </summary>
        /// <param name="udpSession"></param>
        /// <param name="byData"></param>
        protected void OnReceive(IPEndPoint ipEndPoint, byte[] byData)
        {
            UDPSession udpSession;
            if (HasSession(ipEndPoint))
            {
                long lSessionID = GetSessionID(ipEndPoint);
                udpSession = GetSession(lSessionID);
            }
            else
            {
                udpSession = new UDPSession(mSocket, ipEndPoint);
                udpSession.SetHandleReceive(Receive);
                InsertSession(udpSession);
            }

            // 接收处理
            udpSession.Receive(byData);
        }