1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Koordinaten verschlüsselt übertragen

Dieses Thema im Forum "Javascript & Ajax" wurde erstellt von ThiKool, 29. Dezember 2016.

  1. sheel

    sheel I love Asm Administrator

    Kann man zB. machen, ja.
     
  2. ThiKool

    ThiKool Erfahrenes Mitglied

    Also ich habe jetzt viel getüftel und ausprobiert.

    Ohne die Startzeit bzw. die Clickzeit auf den Button mitzugeben, bekomme ich es nicht hin. (also komplett ohne Clientzeit)

    Ich habe die Zeit jetzt komplett vom Server berechnen lassen und einen Durchschnittswert der Abweichung gebildet - das funktioniert gut. Dauert der Request (warum auch immer) zwischendrinn mal richtig lange + >1 Sekunde, verfälscht es den kompletten Durchschnittswert und keine zukünftige Eingabe wird mehr akzeptiert.

    Der Ping beträgt zw. 20 und 25 ms - die tatschächliche Abweichung von ClientClick - ClientStart - Uhrzeitdifferenz sind im Schnitt 150 ms und ich kann mir nicht erklären wo diese Abweichung herkommt.

    Ausserdem funktioniert pingen vom Server auf sich selbst auch nicht bzw. gibt keinen Wert zurück.

    Ich verzweifel noch...
     
  3. ThiKool

    ThiKool Erfahrenes Mitglied

    Mal etwas Anderes:
    Was ist denn wenn ich eine Canvas Animation baue (habe noch keine Erfahrung mit Canvas), beim Buttonklick das Bild mit dem aktuellen Stand der Animation übermittle und dann das Bild Serverseitig auslese und die Koordinaten bekomme?

    Kann ich Clientseitig auch die Position des animierten Objekts im Canvas manipulieren?
     
  4. sheel

    sheel I love Asm Administrator

    Natürlich, ja.
    ...
     
  5. ThiKool

    ThiKool Erfahrenes Mitglied

    Hmm und alle x Millisekunden einen Request an den Server senden und die aktuellen Koordinaten mitgeben?
    Oder ist das vom Traffic und der Performance zu schwierig?
    Canvas real-time Multiplayer Spiele machen das ja wohl so oder?
     
  6. sheel

    sheel I love Asm Administrator

    Was soll das helfen? Nochmal, solange der Clientcomputer nicht 100% unter deiner Kontrolle ist (inkl. physisch) gibt es keine Möglichkeit, das fälschungssicher zu machen.
     
  7. ThiKool

    ThiKool Erfahrenes Mitglied

    Ja, ich dachte jetzt an ein anderes (semi) live Konzept.

    Ist es überhaupt ratsam / üblich, requests im Millisekundenbereich zu feuern, werte in die DB zu speichern usw?
     
  8. ThiKool

    ThiKool Erfahrenes Mitglied

    Hi mal wieder :)
    Ich bin übers Wochenende auf socket.io gestoßen und habe meine Animation nun in die server.js gepackt.
    Beim Klick auf den Button, stoppt die Animation und es wird die Position die in der server.js errechnet bzw animiert wurde hergenommen.

    Kann man sowas nun auch manipulieren? Die server.js ist ja nach aussen hin nicht sichtbar oder?
     
  9. sheel

    sheel I love Asm Administrator

    Kenn mich mit Node.js, Socket.io und dem ganzen Kram praktisch nicht aus, aber:
    Ändert es irgendwas?
    Ja und? (falls es überhaupt so ist, keine Ahnung). Falls man PHP, J2EE usw. verwendet, ist der serverseitige Code auch nicht sichtbar. Macht nichts.

    So lange das Gewinnen etc. irgendwie vom Client abhängt, kann der Client es manipulieren. Und bevor ich das noch öfter wiederhol, ich bin mit dem Thread vorerst fertig. Cheaten bei einem Server-Client-Spiel verlässlich verhindern, ohne den Clientcomputer vollständig zu kontrollieren, geht einfach nicht.
     
Die Seite wird geladen...