Also ich bin bei einem Chatprogramm dran, wo man selbst Server erstellen kann und sich dann mit Servern verbinden kann. Verfügbare Server werden dabei auf einem
FTP-Server gespeichert, aber das ist nicht so wichtig.
Das Chatprogramm funktioniert auch soweit, bis auf eine Kleinigkeit. Ich habe einmal ein Ereignis in ServerClientRead und einmal ein Ereignis im OnkeyDown des Editfeldes wo die Nachrichten eingegeben werden. In beiden Ereignissen taucht fast die selbe Zeile.
Im ServerClientRead Ereignis:
for i := 1 to server.Socket.ActiveConnections-1 do Socket.SendText(messages);
Das funktioniert auch ohne Probleme, der Server empfängt Text und schickt diesen an alle Clients weiter.
Wenn allerdings der Server etwas schreibt, dann wird diese Zeile im OnKeyDown aufgerufen:
for i := 1 to server.Socket.ActiveConnections-1 do server.Socket.SendText(messages); //Server = ServerSocket
Es ist also nur das "Server. ..." hinzugekommen, lasse ich das weg, meckert delphi das er SendText nicht kennt. Steht es da wird das prog zwar kompiliert, jedoch kommt immer wenn der Server etwas schreiben will eine
exception:
"Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und keine Addresse angegeben wurde."
Nach meiner Logik muss also im OnKeyDown dass "Server" weg, aber dann meckert delphi...
Was muss ich machen??
Mfg Felix