Esempio n. 1
0
 protected SocketClientBase(string host, int port, IMessageSerializer <TPacket> serializer)
 {
     _host          = host;
     _port          = port;
     _bufferManager = new PacketBufferManager <TPacket>(serializer);
     _serializer    = serializer;
 }
Esempio n. 2
0
        public static CustomPacket Create(Int16 protocolID)
        {
            //CustomPacket packet = new CustomPacket();
            CustomPacket packet = PacketBufferManager.Pop();

            packet.SetProtocol(protocolID);
            return(packet);
        }
Esempio n. 3
0
    public void Initalize()
    {
        if (Socket != null)
        {
            return;
        }

        Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        SendQueue   = new ConcurrentQueue <byte[]>();
        RecvQueue   = new ConcurrentQueue <byte[]>();
        PacketQueue = new ConcurrentQueue <PacketDef.PacketData>();

        PacketBufferManager = new PacketBufferManager();
        PacketBufferManager.Init(MTUSize * 8, 5, MTUSize);

        initGrpc();

        NetworkThread = new Thread(NetworkProcess);
    }
Esempio n. 4
0
        static void Main()
        {
            PacketBufferManager.Init(2000);

            m_userList = new List <GameUser>();

            NetworkService mainService = new NetworkService();

            // 콜백 설정 및 초기화
            mainService.m_sessionCreateCallback += OnSessionCreated;
            mainService.Init();
            mainService.Listen("127.0.0.1", 15000, 100);

            Console.WriteLine("Server start");
            while (true)
            {
                Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            PacketBufferManager.Initialize(2000);
            userList = new List <GameUser>();

            NetworkService service = new NetworkService();

            // Callback Delegate 설정
            service.sessionCreatedCallback += OnSessionCreated;

            // 초기화
            service.Initialize();
            service.Listen(ipAddress, 7979, 100);

            Console.WriteLine("Started!");
            while (true)
            {
                string input = Console.ReadLine();
                Console.Write(".");
                Thread.Sleep(1000);
            }
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            PacketBufferManager.initialize(2000);
            // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
            // 메시지 송,수신은 서버, 클라이언트 모두 동일한 로직으로 처리될 수 있으므로
            // CNetworkService객체를 생성하여 Connector객체에 넘겨준다.
            var service = new NetworkService(true);

            // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다.
            CConnector connector = new CConnector(service);

            // 접속 성공시 호출될 콜백 매소드 지정.
            connector.connected_callback += on_connected_gameserver;
            var endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979);

            connector.connect(endpoint);
            //System.Threading.Thread.Sleep(10);

            while (true)
            {
                Console.Write("> ");
                string line = Console.ReadLine();
                if (line == "q")
                {
                    break;
                }

                var msg = Packet.create((short)PROTOCOL.CHAT_MSG_REQ);
                msg.push(line);
                game_servers[0].send(msg);
            }

            ((CRemoteServerPeer)game_servers[0]).token.disconnect();

            //System.Threading.Thread.Sleep(1000 * 20);
            Console.ReadKey();
        }
Esempio n. 7
0
 protected ServicePeerBase(Stream stream, IMessageSerializer <TPacket> serializer)
 {
     _stream        = stream;
     _bufferManager = new PacketBufferManager <TPacket>(serializer);
     _serializer    = serializer;
 }
Esempio n. 8
0
 public static void Destory(CustomPacket packet)
 {
     PacketBufferManager.Push(packet);
 }