B
blacky
Hallo,
ich hantiere ein wenig mit sockets und habe bereits erfolgreich mit TCP und UDP Daten versendet. Leider stört mich, dass ich es bis jetzt beispielsweise bei einer TCP Verbindung nur geschafft habe, das der Client eine anfrage stellt und der Server diese beantwortet oder nur empfängt. Sprich, man hat immer den Ablauf Senden->Empfangen->Senden->Empfangen. Nun soll es aber dynamisch sein, sodass der Client z.B. zwei mal etwas sendet und so der Server auch zweimal etwas empfangen muss bzw. auch umgekehrt. Dies würde ja normalerweise bedeuten, dass es im Client zweimal "send()" und beim Server zwei mal "recv()" hintereinander gibt, aber das wäre ja wieder statisch. Ein Beispiel für das Verhalten welches ich programmieren will wäre ein Chat wo weder Server noch Client weiß wie oft empfangen bzw. gesendet werden muss. Ich habe bereits von "select()" gehört wo mehrere sockets und Clients überwacht werden, aber darauf will ich nicht hinaus. Ich möchte nur, dass der Server oder der Client so oft senden kann wie sie wollen. Ist dies mit "select()" doch möglich und wenn ja, wie? Ein paar Codebeispiele wären super.
Danke im voraus!
ich hantiere ein wenig mit sockets und habe bereits erfolgreich mit TCP und UDP Daten versendet. Leider stört mich, dass ich es bis jetzt beispielsweise bei einer TCP Verbindung nur geschafft habe, das der Client eine anfrage stellt und der Server diese beantwortet oder nur empfängt. Sprich, man hat immer den Ablauf Senden->Empfangen->Senden->Empfangen. Nun soll es aber dynamisch sein, sodass der Client z.B. zwei mal etwas sendet und so der Server auch zweimal etwas empfangen muss bzw. auch umgekehrt. Dies würde ja normalerweise bedeuten, dass es im Client zweimal "send()" und beim Server zwei mal "recv()" hintereinander gibt, aber das wäre ja wieder statisch. Ein Beispiel für das Verhalten welches ich programmieren will wäre ein Chat wo weder Server noch Client weiß wie oft empfangen bzw. gesendet werden muss. Ich habe bereits von "select()" gehört wo mehrere sockets und Clients überwacht werden, aber darauf will ich nicht hinaus. Ich möchte nur, dass der Server oder der Client so oft senden kann wie sie wollen. Ist dies mit "select()" doch möglich und wenn ja, wie? Ein paar Codebeispiele wären super.
Danke im voraus!