Пример #1
0
        public void Run()
        {
            foreach (var commend in _cmd)
                commend.Value.Sort();

            _netronics = new Netronics(Properties.CreateProperties(new IPEndPoint(IPAddress.Any, _port), _channelPipe));
            _netronics.Start();
        }
Пример #2
0
 private Netronics CreateNetronics(int port=17777)
 {
     Console.WriteLine("Netronics 초기화 port:{0}", port);
     var netronics = new Netronics(Properties.CreateProperties(new IPEndPoint(IPAddress.Any, port), new ChannelPipe().SetCreateChannelAction(channel => { })));
     Console.WriteLine("Netronics 서버 시작 port:{0}", port);
     netronics.Start();
     return netronics;
 }
Пример #3
0
 public QueenAnt(QueenLoader loader)
 {
     _netronics = new Netronics(
         Properties.CreateProperties(
         new IPEndPoint(IPAddress.Any, loader.GetPort()),
         new ChannelPipe().SetCreateChannelAction(channel=>
             {
                 channel.SetConfig("encoder", BsonEncoder.Encoder);
                 channel.SetConfig("decoder", BsonDecoder.Decoder);
                 channel.SetConfig("handler", this);
             })));
     _netronics.Start();
 }
Пример #4
0
        private AntPacketHandler()
        {
            _instance = this;

            _netronics = new Netronics(
                Properties.CreateProperties(
                new IPEndPoint(IPAddress.Any, QueenAnt.GetQueenAnt().GetPort()),
                new ChannelPipe().SetCreateChannelAction(channel =>
                {
                    channel.SetConfig("encoder", BsonEncoder.Encoder);
                    channel.SetConfig("decoder", BsonDecoder.Decoder);
                    channel.SetConfig("handler", this);
                })));
            _netronics.Start();
        }
Пример #5
0
        public Server(IPacketEncoder encoder, IPacketDecoder decoder)
        {
            // Properties를 생성합니다. Properties는 Netronics의 각종 설정을 의미합니다.
            var properties = Properties.CreateProperties(new IPEndPoint(IPAddress.Any, 9999), // 클라이언트를 받을 아이피와 포트를 설정합니다.
                                                         new ChannelPipe().SetCreateChannelAction(channel => // 각 클라이언트가 접속하면 Channel을 생성하는 과정이 시작되는데 옵션을 아래와 같이 넣을 수 있습니다.
                                                         {
                                                             Console.WriteLine("전달하기 전 Channel의 설정");
                                                             channel.SetConfig("encoder", encoder); // 해당 Channel의 Packet Encoder을 설정합니다.
                                                             channel.SetConfig("decoder", decoder); // 해당 Channel의 Packet Decoder을 설정합니다.
                                                             channel.SetConfig("handler", this); // 해당 Channel의 Handler을 설정합니다.

                                                             channel.SetConfig("switch", new RandemSwitch()); //랜덤으로 전달되는지 확인 ReceiveSwitch 테스트

                                                             Console.WriteLine("Channel을 Netronics로 전달");
                                                         }));

            netronics = new Netronics(properties); // 위에서 만든 Properties를 바탕으로 Netronics 객체를 생성합니다.
            netronics.Start(); // 서버를 가동합니다.
        }