Frage zu Chat

theindra

Mitglied
hallo leute
Habe wieder mal eine Frage!
Ich habe einen Chat geschrieben und verwende 2 Socket Instanzen: "Server" und "Client"
Client wartet auf eine Verbindung und sobald eine hergestellt wurde soll Server an die Verbindung angepasst werden!

Client empfängt Texte und Server sendet sie
aber es funktioniert nicht:

Code:
listener.Start();
while(true)
{
        Thread.Sleep(time);
         if(firstCon)
	{
	while(!listener.Pending())
		{
			Thread.Sleep(time);
                	}
	}
	if(listener.Pending())
	{
		client = listener.AcceptSocket();

		//GEt name:
		ip = IPAddress.Parse(((IPEndPoint)                           
                                client.RemoteEndPoint).Address.ToString());

		//Sobald eine Verbindung gefunden wurde soll die Server-verbindung angepasst werden.
		if(overrideClient)
		{
			Connect();
			overrideClient = false;
		}

		firstCon = false;

		MethodGetConnection(Dns.Resolve(IP).HostName);
	}
	if(client != null)
		MethodForRecievedText(WaitAtSentText());

public void Connect()
{
	IPEndPoint  ep = new IPEndPoint(ip , Port);
	server.Connect(ep);
}
 
Zuletzt bearbeitet:
Hallo,

Also wenn ich mir dein Code so anschaue, sieht das für mich aus, als wärst du von java nach c# umgestiegen :-). Scherz beiseite. Ist ein bisschen wenig Code um alles nachvollziehen zu können. Vom Code her würde ich sagen du verwendest TcpClient... Auf jeden fall keine asynchrone Kommunikation, was ich dir schwer ans Herz legen möchte. Schau mal auf codeproject.com vorbei, da gibts einen sehr guten Artikel zu diesem Thema. Meiner Meinung nach hat man mit dieser Methode einfach weniger Probleme. Gut ich gebe zu der Aufwand ist am Anfang ein bisserl höher, aber wenn mans einmal gemacht hat, kann man das Skelett immer wieder verwenden und fährt damit viel besser.

Hoffe konnte ein wenigstens ein bisschen helfen :( . Wenn du deine Lösung weitermachen willst, poste doch noch mehr Code.

Gruss Alexander
 
Zurück