ich einen grundlegenden Socket-Server habe, der wie folgt aussieht:von Sockel, bis Client Lese sendet EOL in C#
IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 8000);
Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
newsock.Bind(localEndPoint);
}
catch (Exception e)
{
//Errors handled
}
newsock.Listen(10);
Console.WriteLine("Bound to port 8000");
Socket client = newsock.Accept();
while (client.Connected)
{
Console.WriteLine("Connection recieved.");
string outputString = null;
byte[] buffer = new byte[4];
client.Receive(buffer);
string bit = null;
while (bit != "\r\n" || bit != "\n" || bit != "\r")
{
bit = Encoding.ASCII.GetString(buffer);
outputString += bit;
}
Console.WriteLine(outputString);
}
Ich will es jetzt eingegeben werden, bis der Benutzer (derzeit telnet) akzeptieren sendet einen EOL (Pressen Enter) der Code oben ist meistens was ich bisher versucht habe, wie soll ich das machen?
Gibt es einen Grund, keinen TcpListener/TcpClient zu verwenden? Das würde es viel einfacher machen, StreamReader.ReadLine() zu verwenden ... –