Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 16.08.2009, 21:29 Titel: Client -Server mit netwin.bi |
|
|
Eine Frage an euch,
ich habe jetzt zwar einen Server als auch Client über die ....dll Datei bewerkstelligt,
jedoch hat es folgendes Problem:
Wenn ich eine Anfrage vom Clienten zum Server schicke, dann nimmt der Server keine weiteren
Anfragen von weiteren clienten entgegen, da er ja, mit dem ersten Clienten beschäftigt ist.
Erst wenn die Anfrage vom ersten Clienten abgearbeitet wurde, nimmt er wieder eine Anfrage entgegen.
Gibt es eine Lösung, indem mehrere Anfragen von Clienten beim Server abgearbeitet werden können?
Diese Hilfe wäre sehr hilfreich, denn mein Chatprogramm wird folgendermasen programmiert:
- wenn Client a z.B. eine neue Nachricht an den Server schickt, dann wird diese Nachricht beim Server
in die Variabele puffer gespeichert.
z.B Datum,Uhrzeit -> Hallo Welt
Datum + Uhrzeit sind Variabelen
als Datum z.B. 20.06.2009
als Uhrzeit z.B. 20:00
- wenn kein Client eine neue Nachricht schreibt, dann wird jedoch eine Anfrage zum Server geschickt.
Diese Nachricht aktiviert nun eine if Abfrage und sendet somit den Inhalt der Variabele puffer
an den Clienten.
Nun hat der Client den Inhalt der Variabele puffer vom Server übersendet bekommen.
Nun ist es so, dass dieser Inhalt in einer Textdatei gesucht wird.
Diese Textdatei heisst in diesem Fall chat.txt
Wurde der Inhalt gefunden, wird nichts in die Textdatei gespeichert.
Zum suchen verwende ich die überarbeitete Funktion von ......
Diese heisst ......
Ansonsten wird der Inhalt in eine neue Zeile der Textdatei gespeichert.
Also mit append.
Dies bewerktstellige ich halt mal so, da es folgende Vorteile hat:
a) Wenn ich eine Nachricht z.B. schreibe, die 200 Byte habe, dann werden nun 200 Byte übermittelt.
Diese 200 Byte befinden sich dann in der Variabele puffer beim Server.
b) Wenn der Client eine Anfrage an den Server schickt, dann werden z.B.
Benutzername:adminpasswort:passwordoption:Anfragenachricht:
59 Bytes übermittelt.
Da die Option = Anfrage war, wird jetzt der Inhalt vom puffer des Servers an den Clienten
geschickt.
Also 200 Byte.
Wenn ich z.B. sleep = 1 ms nehme, dann werden 1000 Anfragen geschickt:
1000 * 30 Byte = 30.000 Byte
30.000 Byte / 1024 Byte "1 Kilobyte" = 29,296875 Kilobyte
Geht das über Thread? |
|