Пример #1
0
            public void Process(INetPackage package, Guid ConnectionID, AsyncSocketServer server)
            {
                FriendsMessage result = package.NetMessage <FriendsMessage>();

                ServerMsg(result.UID + "获取好友数据!");
                sendFriendsMessage(server, ConnectionID);
            }
Пример #2
0
        public static bool GetReceivedData(out INetPackage pkg, String ip_port, int bytes)
        {
            lock (m_lock)
            {
                if (NetData.m_ip_point_datas.ContainsKey(ip_port))
                {
                    if (NetData.m_ip_point_datas[ip_port].Count > 0)
                    {
                        String        data   = Encoding.UTF8.GetString(NetData.m_ip_point_datas[ip_port].Dequeue(), 0, bytes);
                        StringPackage newpkg = new StringPackage();
                        newpkg.Data = data;
                        pkg         = newpkg;
                        return(true);
                    }
                    else
                    {
                        //test beg
                        ++error_count;
                        Console.WriteLine($"receive no data ... count: {error_count}");
                        if (null == m_thread)
                        {
                            m_thread = new Thread(printfun);
                            m_thread.Start();
                        }
                        //test end
                    }
                }
            }

            pkg = new StringPackage();
            return(false);
        }
Пример #3
0
            public void Process(INetPackage package, IAsyncSocketClient client)
            {
                ResultMessage loginResult = package.NetMessage <ResultMessage>();

                ClientMsg(loginResult.Ret == 0 ? "登录服务器成功!" : "登录服务器失败!");

                sendBigMessage();
                sendFriendsMessage();
            }
Пример #4
0
            public void Process(INetPackage package, Guid ConnectionID, AsyncSocketServer server)
            {
                LoginMessage login = package.NetMessage <LoginMessage>();

                ServerMsg("请求登录:" + login.UID + ",并回复客户端登录成功");

                sendLoginSuccess(server, ConnectionID);

                broadcastMessage(login.UID);
            }
Пример #5
0
            public void Process(INetPackage package, IAsyncSocketClient client)
            {
                UsersMessage friendsResult = package.NetMessage <UsersMessage>();

                for (var i = 0; i < friendsResult.List.Count; i++)
                {
                    UserMessage info = friendsResult.List[i];
                    ClientMsg(info.UID.ToString() + "->" + info.NickName + "->" + info.Avatar);
                }
            }
Пример #6
0
        /// <summary>
        /// 发送消息
        /// </summary>
        public void SendMsg(INetPackage package)
        {
            if (State != ENetworkState.Connected)
            {
                LogSystem.Log(ELogType.Warning, "Network is not connected.");
                return;
            }

            if (_channel != null)
            {
                _channel.SendMsg(package);
            }
        }
Пример #7
0
 private void UpdatePickMsg()
 {
     if (_channel != null)
     {
         INetPackage package = (INetPackage)_channel.PickMsg();
         if (package != null)
         {
             if (package.IsMonoPackage)
             {
                 MonoPackageCallback.Invoke(package);
             }
             else
             {
                 HotfixPackageCallback.Invoke(package);
             }
         }
     }
 }
Пример #8
0
 public void PrintReceiveLog(IPEndPoint local_point, IPEndPoint remote_point, INetPackage package)
 {
     PrintLog("Received", local_point, remote_point, package);
 }
Пример #9
0
 public void PrintSentLog(IPEndPoint local_point, IPEndPoint remote_point, INetPackage package)
 {
     PrintLog("Sent", local_point, remote_point, package);
 }
Пример #10
0
 public void PrintLog(String description, IPEndPoint local_point, IPEndPoint remote_point, INetPackage package = null)
 {
     if (null != local_point)
     {
         Console.Write($"{description}: local:{local_point.Address.ToString()}:{local_point.Port} ");
     }
     if (null != remote_point)
     {
         Console.Write($"remote: {remote_point.Address.ToString()}:{remote_point.Port}");
     }
     if (null != package)
     {
         Console.Write($"data: {package.Description()}");
     }
     Console.Write(Environment.NewLine);
 }
Пример #11
0
            public void Process(INetPackage package, Guid ConnectionID, AsyncSocketServer server)
            {
                LabaMessage labaResult = package.NetMessage <LabaMessage>();

                ServerMsg(labaResult.Data);
            }
Пример #12
0
            public void Process(INetPackage package, IAsyncSocketClient client)
            {
                LabaMessage labaResult = package.NetMessage <LabaMessage>();

                ClientMsg(labaResult.Data);
            }