Thaxll'ssillyia
Captain
- Registriert
- Dez. 2007
- Beiträge
- 3.536
Hallo Community!
Ich progge zuzeit an einem Client-Server-basierten Chatprogramm.
Mein Code sieht bisher so aus:
Wie selbst ein Laie sehen kann, wird ein neuer tcpClient (Akzeptiert durch TCP-Listener) einem freien Eintrag vom Typ TCPClient zugewiesen.
Nun empfange ich eine Nachricht vom Client.
Mein Problem ist, dass ich gerne auf Nachrichten über TCP warten würde, und sobald eine eingeht, diese Auswerten.
Kennt da jemand eine Lösung?
Auch hatte ich nach einer Möglichkeit gesucht, Nachrichten nicht TCPClientspezifiziert zu empfangen, sondern überhaupt über eine Verbindung. Von welchem Client das dann kommt, könnte ich ja der Nachricht entnehmen.
Vielen Dank für Hilfe!
Gruß Thax
Ich progge zuzeit an einem Client-Server-basierten Chatprogramm.
Mein Code sieht bisher so aus:
Code:
public static void StartListening()
{
Server_Listener = new TcpListener(Lokal, Port) ;
Server_Listener.Start();
thrListening = new Thread(KeepListening);
thrListening.Start();
}
public static void KeepListening()
{
while (Server_Running == true)
{
tcpClient = Server_Listener.AcceptTcpClient();
for (int i = 0; i < Variables.const_Max_Clients; i++)
{
if (Variables.m_Client[i].TCPclient == null)
{
Variables.m_Client[i].TCPclient = tcpClient;
Variables.m_CurrentUsers++;
break;
}
}
if (Variables.m_CurrentUsers == 1)
{
HoldConnection = new Thread(Connection.ConnectionToTCP);
HoldConnection.Start();
}
}
}
public static void ConnectionToTCP()
{
while (Server_Running == true)
{
for (int i = 0; i < Variables.const_Max_Clients; i++)
{
try
{
StreamReader Nachricht = new StreamReader(Variables.m_Client[i].TCPclient.GetStream());
if (Nachricht.ReadLine() == "Login")
{
CheckClient(tcpClient);
}
}
catch { }
}
}
}
Wie selbst ein Laie sehen kann, wird ein neuer tcpClient (Akzeptiert durch TCP-Listener) einem freien Eintrag vom Typ TCPClient zugewiesen.
Nun empfange ich eine Nachricht vom Client.
Mein Problem ist, dass ich gerne auf Nachrichten über TCP warten würde, und sobald eine eingeht, diese Auswerten.
Kennt da jemand eine Lösung?
Auch hatte ich nach einer Möglichkeit gesucht, Nachrichten nicht TCPClientspezifiziert zu empfangen, sondern überhaupt über eine Verbindung. Von welchem Client das dann kommt, könnte ich ja der Nachricht entnehmen.
Vielen Dank für Hilfe!
Gruß Thax