Zitat von
sAibo:
Sorry dass ich schon wieder ein Thema eröffne, hab mir nur gedacht ich frag hier lieber vorab mal, bevor ich nachher mit jedem kleinen Problem kommen muss =)
Hier ist jedem lieber, wenn du 10 Themen eröffnest (zu verschiedenen Problemen) als alles in einen Thread hineinzugeben. Ist überhaupt kein Problem hier.
Zitat von
sAibo:
Nun mein Problem:
Ich hab davor noch nie was in der Richtung programmiert =)
Was ich schon habe:
Chat
+ Idee für den Datenaustausch
Zu erst wollt ich Chat und restlich Kommunikation über zwei verschiedene Server-Client Verbindungen laufen lassen. Musste jetzt aber leider feststellen, dass es so nicht funktionieren kann -> da keine zwei Server erlaubt sind
Meine Frage:
Wie würdet ihr grundsätzlich das Gerüst für das gesamte Netzwerk Interface aufbauen?
kann mir da irgendwer ein paar Tipps zu geben? nicht dass ich morgen wieder die nächst Hürde vor mir hab *g*
Was ich noch Dazu sagen muss... ich kann in der schule keine
indy Komponenten nutzen und muss deshalb alles irgendwie über diese TSockets hinbekommen. (Delphi 5)
Also, nachdem du das alles mit Server- und Clientsockets lösen musst, kann ich dir nur empfehlen, dieses Tutorial durchzumachen:
Einen Chat mit den Sockets programmieren
Mit durchmachen meine ich jetzt also nicht, sondern auch in Delphi das machen was steht. Anschließend wirst du sehen, wie einfach die Verwendung dieser Sockets ist.
Und bezüglich der zwei Server, siehe meinen Beitrag im anderen Thema.
Zitat von
sAibo:
Bisherige Idee:
Ich dachte mir die Kommunikation mit Hilfe von zwei verschiedenen Records zu programmieren
In einem Record wird immer die aktuelle Spielkarte verschickt, in dem andern die aktuellen Variablen wie Rundenzahl, welcher Spieler etc. ....
Nun wollte ich über die verschiedenen Read Methoden beim Server/Client mit Hilfe verschiedener Abfragen wie Spieler, Runde etc. die Prozedur zur Kommunikation schreiben…
Ein Problem vor dem ich gerade sitz… nur der Client kann Records zum Server verschicken… anders her rum will’s irgendwie nicht „Socket nicht Verbunden….“ In die andere Richtung geht’s allerdings….
Das mit den Records ist eine gute Idee. WIchtig ist, das "Öffnen" des Records in einer try-except-Schachtelung zu machen, da es sonst bei ICMP-Paketen o.ä. zu Exceptions kommmt.
Bezüglich des Problems beim Senden mit dem Server:
Während der Client mit
ClientSocket1.Socket.SendBuffer(...);
die Daten versendet, musst du beim Server folgendes verwenden:
ServerSocket1.Socket.Connections[n].SendBuffer;
n ist dabei die Nummer der Verbindung. Doch das steht alles in oben genanntem Tut drinnen, mach das mal durch, wenns dann noch Fragen gibt helfe ich gern wieder.
Greetz
alcaeus