| Autor |
Beitrag |
Sithlord
      
Beiträge: 172
|
Verfasst: Do 04.06.09 22:13
Hallo,
ich habe angefangen, ein "Hack-Spiel" zu programmieren, nur für uns in der Schule. Jeder hat eine Kommandozeile und gibt Befehle ein. Nun benutze ich aber die Standard ServerClient und ServerSocket Teile. Da stellte sich heraus, wenn man zu dritt versucht sich gegenseitig zu "hacken", dass der Server schlappmachte und teilweise keine Antwort zurücksendete. Erst wenn der entsprechende Server neugestartet wurde, geht wieder alles -auf unbestimmte Zeit.
Gibt es eine Komponente, die mir folgendes ohne Probleme ermöglicht:
-Anzeigen der IP desjenigen, der etwas gesendet hat
-Senden/Empfangen eines Strings
-Senden eines Strings an eine bestimmte IP (Egal ob Client/Server, wie auch immer).
-Muss Multiusing fähig sein= 2 oder mehr User bedienen können, da wir bestimmt fast 20 Leute sein werden...
-Trotzdem damit zurechtkommen, das mindestens alle 2 Sekunden eine Antwort gesendet werden muss
-Einfach zu bedienen wie komponente.sendtext('text',anfrage_vom_bestimmten_clienten);
Mfg Kalle
Vielen Dank für Hilfe.
Ich wüsste jetzt nicht, welche es gibt...
Moderiert von Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
|
|
jaenicke
      
Beiträge: 19340
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 04.06.09 22:19
Da es um ein lokales Netzwerk geht, hilft dir vielleicht dieser Beitrag:
www.delphi-library.d...ewtopic.php?p=336933
(und auch die ganze Tutorialreihe)
|
|
Sithlord 
      
Beiträge: 172
|
Verfasst: Do 04.06.09 22:26
HuHu und danke
Diese Komponente ist mir auch schon ins auge gesprungen, aber auch nicht ganz dass, was ich suche.
Zumal ich auf UPD verzichten wollte, sofern möglich
Mfg Kalle
|
|
jaenicke
      
Beiträge: 19340
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 04.06.09 22:27
|
|
Narses
      

Beiträge: 10184
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 04.06.09 23:51
Moin!
Sithlord hat folgendes geschrieben : | ich habe angefangen, ein "Hack-Spiel" zu programmieren, nur für uns in der Schule. Jeder hat eine Kommandozeile und gibt Befehle ein.
[...]
wenn man zu dritt versucht sich gegenseitig zu "hacken" |
Wie "hackt" man sich denn gegenseitig (und das auch noch Client-Server)?  Sachen gibt´s...
Sithlord hat folgendes geschrieben : | | Gibt es eine Komponente, die mir folgendes ohne Probleme ermöglicht: [...] |
Deine Anforderungen überfordern die Socket-Komponenten jedenfalls nicht.  Ich fürchte eher, du verwendest sie nicht richtig (ereignisorientiert)...
Aber, ehrlich gesagt, ich kann mir auch beim besten Willen nicht vorstellen, was du da tust...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
jaenicke
      
Beiträge: 19340
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 04.06.09 23:54
|
|
Narses
      

Beiträge: 10184
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 04.06.09 23:56
//EDIT:
Wobei...
Sithlord hat folgendes geschrieben : | | Da stellte sich heraus, wenn man zu dritt versucht sich gegenseitig zu "hacken", dass der Server schlappmachte und teilweise keine Antwort zurücksendete. Erst wenn der entsprechende Server neugestartet wurde, geht wieder alles |
Ist das nicht ein erfolgreich "gehackter" Server?  Game over... war doch das Ziel, oder? 
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Sithlord 
      
Beiträge: 172
|
Verfasst: Fr 05.06.09 05:47
LoL,
ne ganz so ist es nicht...^^
Ihr habt euren Spaß ja nun gehabt, aber ich würde gerne Hilfe haben
Ich kanns ja mal kurz erklären:
Ich gebe einen Befehl ein, z.b. send.bf
Bf steht für BruteForce, was ich in diesem Spiel einfach umgesetzt habe für eine Zufallszahl von 1-30.
Nun sende ich mit meinem Clientsocket an den Serversocket "BF:Zahl", wofür Zahl halt für den Zufallswert steht.
Sollten beide Zufallswerte übereinstimmen, sendet der Server mir "BFe" zurück, sollte es falsch gewesen sein, sendet er "BFn" zurück.
Wisst ihr, wie ich genau an denjenigen vom Server aus, zurückschreiben lassen kann, ders gesendet hat?
Vielleicht liegt darin ja mein Fehler, dass die Komponenten leicht versagen...
Weil sich wie gesagt, wenn sich mehrere Verbinden, der Server weigert, den BruteForce Wert anzunehmen und zurückzusenden.
Dass er dass nicht annimmt, sieht man daran, dass er beim Gegner nicht "Fehlgeschlagener BF Versuch" hinschreibt, was er sonst tut.
Ich habe halt nicht so viel Ahnung in Delphi -.- ^^.
Deshalb frage ich ja 
|
|
Narses
      

Beiträge: 10184
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 05.06.09 08:01
Moin!
Sithlord hat folgendes geschrieben : | Ihr habt euren Spaß ja nun gehabt, aber ich würde gerne Hilfe haben  |
Schon klar, war auch nicht persönlich gemeint.
Sithlord hat folgendes geschrieben : | Wisst ihr, wie ich genau an denjenigen vom Server aus, zurückschreiben lassen kann, ders gesendet hat?
Vielleicht liegt darin ja mein Fehler, dass die Komponenten leicht versagen... |
Die Komponenten versagen vermutlich nicht, eher dein Konzept.  Für mich hört sich das so an, als ob du das hier mal lesen solltest (Code zeigste ja nicht, leiten wir also die erste Raterunde ein).
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
>M@steR<
      
Beiträge: 288
Erhaltene Danke: 3
|
Verfasst: Fr 05.06.09 11:17
Zuletzt bearbeitet von >M@steR< am Di 17.09.13 02:18, insgesamt 1-mal bearbeitet
|
|
Sithlord 
      
Beiträge: 172
|
Verfasst: Fr 05.06.09 20:45
Doch, jeder hat(te) sowohl seinen eigenen Clienten und Server... Weil jeder ja jeden "Hacken" kann.
Nun verwende ich die UDP Komponente und bin sehr zufrieden damit, habe doch ein für mich unlösbares Problem:
Ich kann beim UDP als Server keine Antwort an den Clienten senden, der zuvor nen Befehl gesendet hat.
Sprich:
Ich gebe als PC1 ein:
remote.restart
kommt bei PC2 an:
remrestart
interpretiert dieser als:
server shutdown, edit.text disabled - 30 Sekunden lang.
Er soll bevor er offline geht, aber ne Nachricht zurück an den Clienten senden, an den, dem das Paket gehörte...
Also:
PC2 an PC1:
remrestartyes
PC1 interpretiert und gibt mir als Info wieder:
RemotePC startet neu...
Bloß ich kann den Server nichts senden lassen. Sollte diese sich gerade verbunden haben, kann auch der client wenig tun, da er gerade mit was anderem verbunden ist...
Moderiert von Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
|
|
Narses
      

Beiträge: 10184
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 05.06.09 20:53
Moin!
Ich mache mal ein Beispiel, in welcher Art deine Frage hier ankommt:
Ein Mann ruft beim Arzt an und sagt: "Herr Doktor, immer wenn ich was gegessen habe, tut mir der Bauch so weh! Was kann ich denn essen, damit das nicht mehr weh tut?" - Woher in Gottes Namen soll der arme Medizinmann am Telefon das wissen?!
ZEIG. MAL. DEN. CODE.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
|