Пример #1
0
        void onReceive(AbstractTcpSocket socket, Socket client, byte[] bytes)
        {
            var message = Encoding.UTF8.GetString(bytes);

            fabl.Info(message);

            var args = getArgsFromMessage(message);

            try {
                if (args[0] == trigger)
                {
                    throw new Exception("Server is already running!");
                }
                var command = Program.GetCommand(args[0]);
                fabl.AddAppender(onLog);
                command.Run(args);
                fabl.RemoveAppender(onLog);
                var logBufferString = getLogBufferString();
                var sendBytes       = logBufferString.Length == 0
                    ? new byte[] { 0 }
                    : Encoding.UTF8.GetBytes(logBufferString);
                socket.Send(sendBytes);
            } catch (Exception ex) {
                Program.PrintException(ex, args);
                socket.Send(Encoding.UTF8.GetBytes(getLogBufferString() + ex.Message));
            }

            _logBuffer.Clear();
        }
        public void Listen(int port)
        {
            TcpServerSocket tcpServerSocket = new TcpServerSocket();

            this.socket = tcpServerSocket;
            tcpServerSocket.OnClientConnected += delegate(TcpServerSocket sender, Socket client)
            {
                this.onConnected();
            };
            tcpServerSocket.Listen(port);
        }
        public void Connect(IPAddress ip, int port)
        {
            TcpClientSocket tcpClientSocket = new TcpClientSocket();

            this.socket = tcpClientSocket;
            tcpClientSocket.OnConnected += delegate(TcpClientSocket sender)
            {
                this.onConnected();
            };
            tcpClientSocket.Connect(ip, port);
        }
Пример #4
0
        static void initServer(string[] args)
        {
            int port = 0;

            try {
                port = int.Parse(args[1]);
                var server = new TcpServerSocket();
                server.OnDisconnect += onDisconnect;
                server.Listen(port);
                _socket = server;
                start();
            } catch (Exception) {
                Console.WriteLine("Invalid port");
            }
        }
Пример #5
0
        static void initClient(string[] args)
        {
            IPAddress ip   = null;
            int       port = 0;

            try {
                ip   = IPAddress.Parse(args[1]);
                port = int.Parse(args[2]);
                var client = new TcpClientSocket();
                client.OnDisconnect += onDisconnect;
                client.Connect(ip, port);
                _socket = client;
                start();
            } catch (Exception) {
                Console.WriteLine("Please specify a valid ip and port");
            }
        }
Пример #6
0
        public override void Run(string[] args)
        {
            var port = 0;

            try {
                port = int.Parse(args[1]);
            } catch (Exception) {
                port = 3333;
            }

            var server = new TcpServerSocket();

            _socket              = server;
            server.OnDisconnect += onDisconnect;
            server.Listen(port);
            server.OnReceive       += onReceive;
            Console.CancelKeyPress += onCancel;
            while (true)
            {
                server.Send(Encoding.UTF8.GetBytes(Console.ReadLine()));
            }
        }
Пример #7
0
 void onDisconnect(AbstractTcpSocket socket)
 {
     Environment.Exit(0);
 }
Пример #8
0
 void onReceive(AbstractTcpSocket socket, Socket client, byte[] bytes)
 {
     fabl.Info(Encoding.UTF8.GetString(bytes));
     socket.Disconnect();
 }
Пример #9
0
 static void onDisconnect(AbstractTcpSocket socket)
 {
     Debug.Log("Disconnected");
 }
Пример #10
0
 static void onReceive(AbstractTcpSocket socket, Socket client, byte[] bytes)
 {
     Debug.Log("Generated.");
     socket.Disconnect();
 }