public void SendBuffer(byte[] buffer) { ClientSock.Send(BitConverter.GetBytes(buffer.Length)); ClientSock.Send(buffer); }
private void ServStart() { Socket ClientSock; string data; byte[] cldata = new byte[1024]; Listener = new TcpListener(LocalPort); Listener.Start(); Console.WriteLine("Waiting connections [" + Convert.ToString(LocalPort) + "]..."); try { ClientSock = Listener.AcceptSocket(); } catch { ServThread.Abort(); return; } int i = 0; if (ClientSock.Connected) { while (true) { try { i = ClientSock.Receive(cldata); } catch { } try { if (i > 0) { data = Encoding.ASCII.GetString(cldata).Trim(); Console.WriteLine("<" + data); if (data == "CLOSE") { ClientSock.Send(Encoding.ASCII.GetBytes("Closing the server...")); ClientSock.Close(); Listener.Stop(); Console.WriteLine("Server closed. Reason: client wish! Type EXIT to quit the application."); ServThread.Abort(); return; } else { ClientSock.Send(Encoding.ASCII.GetBytes("Your data: " + data)); } } } catch { ClientSock.Close(); Listener.Stop(); Console.WriteLine("Server closing. Reason: client offline. Type EXIT to quit the application."); ServThread.Abort(); } } } }