These are chat archives for IndySockets/Indy
TIdNotifyworks, but just note that it is deprecated in favor of
TThread.Queue()with an anonymous procedure, especially if you need to pass any variables to the main thread.
Contextslist, and are passed to the server's
OnConnect/OnDisconnect/OnExecuteevents. That is where you should be doing your I/O for each client. 99% of the time, you SHOULD NOT be writing directly to a client from outside of those events. Doing so can corrupt your communications if other threads (like the events, which are running in their own thread) also write to the same client at the same time. But, if no other threads write (for instance, a server that only pushes data and doesn't respond to client requests), then writing directly to a client from outside the events is fine if you are careful with it.
procedure TForm8.IdTCPServer1Execute(AContext: TIdContext);
// again this in second thread
//I don't know what to put here I am not expecting anything right now
recv := AContext.Connection.Socket.ReadLn;
procedure TForm8.SendWaveFormTimerTimer(Sender: TObject);
//which has this code