Natürlich geht das. Wie gesagt: Die Event-Geschichte hat mit den Sockets überhaupt nichts zu tun. Das ist rein eine Frage der Programmierung im User Code oder in der Pascal-Library. Die geeignete Methode ist eben, eine Thread im blocking read warten zu lassen (also im Endeffekt Betriebssystem API) und dann eine Spach-Event zu schmeißen, wenn er aus dem Lesen zurückkommt. (Inter-Thread-Kommunikation im Rahmen der Programmiersprache).Bergmann89 hat geschrieben:dass das iwie nich wirklich eventbasiert geht. Zumindest nich, wenn ich es auf Linux und Windoof nutzen will.
Die in Delphi üblichen Libraries Indy und AsyncPro machen das so. Der Event kommt aber da immer im MainThread aus, weil die Event-Queue der Programm-Library verwendet wird, und die unterstützt keine Events für andere Threads.
-Michael