Example #1
0
 /// <summary>
 /// 连接断开回调
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 static void Disconnected(NetConnection <NetSession> sender, SocketAsyncEventArgs e)
 {
     //Performance.ServerConnect = Interlocked.Decrement(ref Performance.ServerConnect);
     sender.Session.Disconnected();
     Log.WarningFormat("Client[{0}] Disconnected", e.RemoteEndPoint);
     MessageDistributer <NetConnection <NetSession> > .Instance.RaiseEvent <UserGameLeaveRequest>(sender, new UserGameLeaveRequest());
 }
Example #2
0
        private void OnSocketConnected(object sender, Socket e)
        {
            IPEndPoint clientIP = (IPEndPoint)e.RemoteEndPoint;
            //可以在这里对IP做一级验证,比如黑名单

            NetConnection <NetSession> connection = new NetConnection <NetSession>(e);

            Log.WarningFormat("Client[{0}]] Connected", clientIP);
        }
Example #3
0
 /// <summary>
 /// 接受数据回调
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 static void DataReceived(NetConnection <NetSession> sender, DataEventArgs e)
 {
     Log.WarningFormat("Client[{0}] DataReceived Len:{1}", e.RemoteEndPoint, e.Length);
     //由包处理器处理封包
     lock (sender.packageHandler)
     {
         sender.packageHandler.ReceiveData(e.Data, 0, e.Data.Length);
     }
     //PacketsPerSec = Interlocked.Increment(ref PacketsPerSec);
     //RecvBytesPerSec = Interlocked.Add(ref RecvBytesPerSec, e.Data.Length);
 }
Example #4
0
        private void OnSocketConnected(object sender, Socket e)
        {
            IPEndPoint clientIP = (IPEndPoint)e.RemoteEndPoint;
            //可以在这里对IP做一级验证,比如黑名单

            SocketAsyncEventArgs args    = new SocketAsyncEventArgs();
            NetSession           session = new NetSession();

            NetConnection <NetSession> connection = new NetConnection <NetSession>(e, args,
                                                                                   new NetConnection <NetSession> .DataReceivedCallback(DataReceived),
                                                                                   new NetConnection <NetSession> .DisconnectedCallback(Disconnected), session);


            Log.WarningFormat("Client[{0}]] Connected", clientIP);
        }
Example #5
0
 /// <summary>
 /// 连接断开回调
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 static void Disconnected(NetConnection <NetSession> sender, SocketAsyncEventArgs e)
 {
     //Performance.ServerConnect = Interlocked.Decrement(ref Performance.ServerConnect);
     Log.WarningFormat("Client[{0}] Disconnected", e.RemoteEndPoint);
     sender.Session.Disconnected();
 }