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); }
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"); } }
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"); } }
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())); } }
void onDisconnect(AbstractTcpSocket socket) { Environment.Exit(0); }
void onReceive(AbstractTcpSocket socket, Socket client, byte[] bytes) { fabl.Info(Encoding.UTF8.GetString(bytes)); socket.Disconnect(); }
static void onDisconnect(AbstractTcpSocket socket) { Debug.Log("Disconnected"); }
static void onReceive(AbstractTcpSocket socket, Socket client, byte[] bytes) { Debug.Log("Generated."); socket.Disconnect(); }