Esempio n. 1
0
 private void OnDisconnected(SocketEventArgs e)
 {
     if (Disconnected != null)
     {
         Disconnected(this, e);
     }
 }
Esempio n. 2
0
 private void OnDataReceived(SocketEventArgs e)
 {
     if (DataReceived != null)
     {
         DataReceived(this, e);
     }
 }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exSocket"></param>
 /// <param name="opCode"></param>
 /// <param name="reason"></param>
 protected void Dispose(ExSocket exSocket, sbyte opCode, string reason)
 {
     try
     {
         var e = new SocketEventArgs()
         {
             Socket = exSocket,
             Source = new DataMeaage()
             {
                 OpCode = opCode, Message = reason
             }
         };
         DoClosed(e);
         OnDisconnected(e);
         if (exSocket != null)
         {
             exSocket.Close();
         }
         sendEventArg.Dispose();
         receiveEventArg.Dispose();
         receiveWaitEvent.Dispose();
         socketClient.Dispose();
     }
     catch (Exception ex)
     {
         TraceLog.WriteError("Dispose connect of client error:{0}", ex);
     }
 }
Esempio n. 4
0
 private void OnDataReceived(SocketEventArgs e)
 {
     if (DataReceived != null)
     {
         DataReceived(this, e);
     }
 }
Esempio n. 5
0
 private void OnDisconnected(SocketEventArgs e)
 {
     if (Disconnected != null)
     {
         Disconnected(this, e);
     }
 }
Esempio n. 6
0
        private void OnReceived(ClientSocket sender, SocketEventArgs e)
        {
            var token = receiveEventArg.UserToken as DataToken;

            if (token != null)
            {
                token.SyncSegments.Enqueue(new ArraySegment <byte>(e.Data));
            }
            receiveWaitEvent.Set();
        }
Esempio n. 7
0
 private void DoReceived(object sender, SocketEventArgs e)
 {
     if (_callback != null)
     {
         if (_callback(e.Data))
         {
             StopWait();
         }
     }
 }
Esempio n. 8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exSocket"></param>
 /// <param name="opCode"></param>
 /// <param name="reason"></param>
 protected void Dispose(ExSocket exSocket, sbyte opCode, string reason)
 {
     try
     {
         var e = new SocketEventArgs()
         {
             Socket = exSocket,
             Source = new DataMeaage()
             {
                 OpCode = opCode, Message = reason
             }
         };
         DoClosed(e);
         OnDisconnected(e);
         exSocket.Close();
     }
     catch (Exception ex)
     {
         logger.Error("OnDisconnected", ex);
     }
 }
Esempio n. 9
0
        void DataReceived(object sender, SocketEventArgs e)
        {
            try
            {
                var bytes = new byte[16];
                Buffer.BlockCopy(e.Data, 0, bytes, 0, 16);
                var ssid = new Guid(bytes);
                var sendResult = proxy.SendDataBack(ssid, e.Data, 16, e.Data.Length - 16);
                if (!sendResult)
                {
                    Task.Factory.StartNew(() =>
                    {
                        NameValueCollection requestParam = new NameValueCollection();
                        //连接中断通知游戏服
                        requestParam["actionid"] = ((int)ActionEnum.Interrupt).ToString();
                        requestParam["ssid"] = ssid.ToString("N");
                        requestParam["msgid"] = "0";
                        string paramStr = RequestParse.ToQueryString(requestParam);

                        byte[] paramData = Encoding.ASCII.GetBytes(paramStr);

                        try
                        {
                            Send(paramData);
                        }
                        catch (Exception ex)
                        {
                            TraceLog.WriteError("连接中断通知游戏服error:{0}\r\nParam:{1}", ex, paramStr);
                        }
                    });
                }
            }
            catch (Exception er)
            {
                TraceLog.WriteError("DataReceived error:{0}", er);
            }
        }
Esempio n. 10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="e"></param>
 protected virtual void DoClosed(SocketEventArgs e)
 {
 }
Esempio n. 11
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="exSocket"></param>
        /// <param name="opCode"></param>
        /// <param name="reason"></param>
        protected void Dispose(ExSocket exSocket, sbyte opCode, string reason)
        {
            try
            {
                var e = new SocketEventArgs()
                {
                    Socket = exSocket,
                    Source = new DataMeaage() { OpCode = opCode, Message = reason }
                };
                DoClosed(e);
                OnDisconnected(e);
                exSocket.Close();
            }
            catch (Exception ex)
            {
                logger.Error("OnDisconnected", ex);
            }

        }
Esempio n. 12
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="e"></param>
 protected virtual void DoOpened(SocketEventArgs e)
 {
     connectState = ConnectState.Success;
 }
Esempio n. 13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="e"></param>
 protected virtual void DoOpened(SocketEventArgs e)
 {
     connectState = ConnectState.Success;
 }
Esempio n. 14
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="e"></param>
 protected virtual void DoClosed(SocketEventArgs e)
 {
 }
Esempio n. 15
0
 private void DoClosed(object sender, SocketEventArgs e)
 {
     _isConnected = false;
     StopWait();
 }
Esempio n. 16
0
 private void OnReceived(ClientSocket sender, SocketEventArgs e)
 {
     var token = receiveEventArg.UserToken as DataToken;
     if (token != null)
     {
         token.SyncSegments.Enqueue(new ArraySegment<byte>(e.Data));
     }
     receiveWaitEvent.Set();
 }
Esempio n. 17
0
        private void OnDataReceived(object sender, SocketEventArgs e)
        {
            try
            {
                var remoteArgs = new RemoteEventArgs() { Data = e.Data };
                OnCallback(remoteArgs);

            }
            catch (Exception ex)
            {
                TraceLog.WriteError("Socket remote received error:{0}", ex);
            }
        }
Esempio n. 18
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="exSocket"></param>
        /// <param name="opCode"></param>
        /// <param name="reason"></param>
        protected void Dispose(ExSocket exSocket, sbyte opCode, string reason)
        {
            try
            {
                var e = new SocketEventArgs()
                {
                    Socket = exSocket,
                    Source = new DataMeaage() { OpCode = opCode, Message = reason }
                };
                DoClosed(e);
                OnDisconnected(e);
                if (exSocket != null) exSocket.Close();
            }
            catch (Exception ex)
            {
                TraceLog.WriteError("Dispose connect of client error:{0}", ex);
            }

        }
Esempio n. 19
0
 private void OnDisconnected(object sender, SocketEventArgs e)
 {
     try
     {
         Connected = false;
     }
     catch (Exception ex)
     {
         TraceLog.WriteError("Socket remote disconnected error:{0}", ex);
     }
 }
Esempio n. 20
0
 void Disconnected(object sender, SocketEventArgs e)
 {
     proxy.FlushConnected();
 }
Esempio n. 21
0
 private static void OnReceive(object sender, SocketEventArgs e)
 {
     var myConnect = ((ClientSocket)sender).UserData as MyConnect;
     if (myConnect != null)
     {
         var stream = new MessageStructure(e.Data);
         var head = stream.ReadHeadGzip();
         var pack = new MyPack() { Head = head, Data = e.Data };
         myConnect.actionPools.Enqueue(pack);
     }
 }
Esempio n. 22
0
        void DataReceived(object sender, SocketEventArgs e)
        {
            var bytes = new byte[16];
            Buffer.BlockCopy(e.Data, 0, bytes, 0, 16);
            var ssid = new Guid(bytes);
            var data = e.Data;
            var sendResult = proxy.SendDataBack(ssid, e.Data, 16, e.Data.Length - 16);
            if (!sendResult)
            {
                Task.Factory.StartNew(() =>
                {
                    NameValueCollection requestParam = new NameValueCollection();
                    requestParam["actionid"] = "2";
                    requestParam["ssid"] = ssid.ToString("N");
                    requestParam["msgid"] = "0";

                    byte[] paramData = Encoding.ASCII.GetBytes(RequestParse.ToQueryString(requestParam));

                    try
                    {
                        Send(paramData);
                    }
                    catch (Exception ex)
                    {
                        logger.Error("发送tcp连接断开通知失败。", ex);
                    }
                });
            }
        }