示例#1
0
 public void ReliableListen(NetworkPortInfo port)
 {
     if (_reliableServer != null)
     {
         _reliableServer.OnAcceptListener     += OnReliableConnected;
         _reliableServer.OnReceiveListener    += OnReliableReceive;
         _reliableServer.OnDisconnectListener += OnDisconnect;
         _reliableServer.Bind(port.TcpPort);
     }
 }
示例#2
0
 public void RealTimeListen(NetworkPortInfo port)
 {
     if (_realTimeServer != null)
     {
         _realTimeServer.Init();
         _realTimeServer.Bind(port.UdpPort);
         _realTimeServer.OnReceiveListener    += OnRealTimeReceive;
         _realTimeServer.OnAcceptListener     += OnRealTimeConnected;
         _realTimeServer.OnDisconnectListener += OnRealTimeDisconnect;
     }
 }
示例#3
0
 public void ClientConnect(NetworkPortInfo networkPortInfo)
 {
     try
     {
         _clientOpen      = true;
         _networkPortInfo = networkPortInfo;
         DoClientConnect();
     }
     catch (Exception e)
     {
         _logger.ErrorFormat("HallRoom Server start failed {0}", e);
     }
 }
示例#4
0
 public void StartServer(NetworkPortInfo networkPortInfo)
 {
     try
     {
         INetworkServerFactory serverFactory = new VNetworkServerFactory();
         _server = serverFactory.CreateTcpNetworkServer(SharedConfig.IsLittleEndian, "HallRoom");
         _server.ChannelConnected += ServerOnChannelConnected;
         _server.Listen(networkPortInfo, 1, SharedConfig.MutilThread);
     }
     catch (Exception e)
     {
         _logger.ErrorFormat("HallRoom Server start failed {0}", e);
     }
 }
示例#5
0
 public void Start(NetworkPortInfo networkPortInfo)
 {
     try
     {
         //INetworkServerFactory serverFactory = new UNetNetworkServerFactory();
         //INetworkServerFactory serverFactory = new EnetNetworkServerFactory();
         INetworkServerFactory serverFactory = new VNetworkServerFactory();
         _server = serverFactory.CreateNetworkServer(SharedConfig.IsLittleEndian, "LoginServer");
         _server.ChannelConnected += ServerOnChannelConnected;
         _server.Listen(networkPortInfo, SharedConfig.LoginServerThreadCount, SharedConfig.MutilThread);
     }
     catch (Exception e)
     {
         _logger.ErrorFormat("Login Server start failed {0}", e);
     }
 }
示例#6
0
        public LoginClient(
            string serverIp,
            NetworkPortInfo networkPortInfo,
            IClientRoom clientRoom)
        {
            this._clientRoom = clientRoom;

            //INetworkClientFactory clientFactory = new UNetNetworkClientFactory();
            //INetworkClientFactory clientFactory = new ENetNetworkClientFactory();
            INetworkClientFactory clientFactory = new VNetworkClientFactory();

            _networkClient = clientFactory.CreateNetworkClient(SharedConfig.IsLittleEndian, "BattleClient");

            _networkClient.ChannelConnected    += NetworkClientOnChannelConnected;
            _networkClient.ChannelDisconnected += NetworkClientOnChannelDisconnected;
            _networkClient.Connect(serverIp, networkPortInfo, SharedConfig.MutilThread);
            SingletonManager.Get <DurationHelp>().ServerInfo = string.Format("{0} tcp:{1} udp:{2}", serverIp, networkPortInfo.TcpPort, networkPortInfo.UdpPort);
        }
示例#7
0
        public void Connect(string ip, NetworkPortInfo port)
        {
            Logger.InfoFormat("Service {2} Connect to {0}:{1}", ip, port, ServiceName);
            if (_reliableClient != null)
            {
                _reliableClient.Init();
                _reliableClient.Connect(ip, port.TcpPort, 0);
                _reliableClient.OnConnectListener += OnReliableConnected;
                _reliableClient.OnReceiveListener += OnReliableReceive;

                _reliableClient.OnReceiveListener       += OnReliableReceiveListener;
                _reliableClient.OnConnectListener       += OnReliableConnectListener;
                _reliableClient.OnConnectFailedListener += OnReliableConnectFailedListener;
                _reliableClient.OnDisconnectListener    += OnDisconnect;
            }

            _ip      = ip;
            _udpPort = port.UdpPort;
        }
示例#8
0
 public void Listen(NetworkPortInfo port, int threadCount = 2, bool muitilThread = false)
 {
     ReliableListen(port);
     RealTimeListen(port);
     Start(threadCount, !muitilThread, muitilThread);
 }