Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 22:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Netzwerk Logik]Problem mit Positions Synchronisation

Discussion on [Netzwerk Logik]Problem mit Positions Synchronisation within the General Coding forum part of the Coders Den category.

Reply
 
Old 07/25/2013, 11:16   #16
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Quote:
Originally Posted by .SkyneT. View Post
Das ist einfach nur extrem überflüssig, da die IP des
Empfängers/Senders ohnehin im Header steht.

Wenn ich mal grob schätze dürfte ein TCP/IPv4 Packet
40byte + Daten haben.
Zum einen hast du absolut Recht :P

Zum anderen, gut geschätzt
IPv4 Header hat 20Byte + optionale Daten die nochmal maximal 40 Byte seien dürfen. Sollten also 60 seien, es seiden ich schmeiß irgendwas in meinem Kopf durcheinander.
dready is offline  
Thanks
1 User
Old 07/27/2013, 06:58   #17


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Originally Posted by »FlutterShy™ View Post
das war bei einem client server projekt bei mir so afgebaut
Dann war es wohl schlecht aufgebaut :f

Zumal die Verschlüsselung nichts an der Größe ändern sollte und eine binäre Speicherung von Daten, die keine Zeichenketten sind (z.B. Zahlen), weniger Platz benötigt, als sie erst in Strings umzuwandeln.
MrSm!th is offline  
Old 07/27/2013, 07:58   #18
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by MrSm!th View Post
Dann war es wohl schlecht aufgebaut :f

Zumal die Verschlüsselung nichts an der Größe ändern sollte und eine binäre Speicherung von Daten, die keine Zeichenketten sind (z.B. Zahlen), weniger Platz benötigt, als sie erst in Strings umzuwandeln.
Padding?

Grundsätzlich reicht für ein Movepacket folgender Aufbau:
Header|PosX|PosY|PlayerID
Was im gesamten nicht mehr als 13 Byte haben sollte.
Tyrar is offline  
Thanks
1 User
Old 07/27/2013, 22:36   #19
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by MrSm!th View Post
Dann war es wohl schlecht aufgebaut :f

Zumal die Verschlüsselung nichts an der Größe ändern sollte und eine binäre Speicherung von Daten, die keine Zeichenketten sind (z.B. Zahlen), weniger Platz benötigt, als sie erst in Strings umzuwandeln.
ich bin mir bewusst das es schlecht war aber für das was ich machen wollte hat es völlig ausgereicht .

Von der geröße her habe ich mich wohl ein wenig vertan denn wenn man das in eine datei schreibt und dann im windows explorer schaut sind de etwas größer
YatoDev is offline  
Old 07/27/2013, 23:08   #20
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by »FlutterShy™ View Post
ich bin mir bewusst das es schlecht war aber für das was ich machen wollte hat es völlig ausgereicht .

Von der geröße her habe ich mich wohl ein wenig vertan denn wenn man das in eine datei schreibt und dann im windows explorer schaut sind de etwas größer
Nur weil etwas schlechtes funktioniert oder ausreicht heißt das nicht, dass man es verwenden sollte.
Tyrar is offline  
Old 07/28/2013, 05:19   #21
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Quote:
Originally Posted by HeavyHacker View Post
Padding?

Grundsätzlich reicht für ein Movepacket folgender Aufbau:
Header|PosX|PosY|PlayerID
Was im gesamten nicht mehr als 13 Byte haben sollte.
Die Player ID brauch eigentlich nicht mit in das Packet. Ich habe ja programmier technisch für jeden Client einen Socket. Dadurch weiß ich ja welcher Client was sendet.

MFG Conrew
Conrew is offline  
Old 07/28/2013, 21:04   #22
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by Conrew View Post
Die Player ID brauch eigentlich nicht mit in das Packet. Ich habe ja programmier technisch für jeden Client einen Socket. Dadurch weiß ich ja welcher Client was sendet.

MFG Conrew
Aber woher wissen andere Clients um welchen es sich handelt, der sich bewegt?
Tyrar is offline  
Old 07/28/2013, 21:21   #23
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Quote:
Originally Posted by HeavyHacker View Post
Aber woher wissen andere Clients um welchen es sich handelt, der sich bewegt?
Das regelt der Server und sagt es dem Client weil er ja weiß das der Client sich bewegt hat.

MFG Conrew
Conrew is offline  
Old 07/29/2013, 12:17   #24
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Kommt immer ein wenig auf deine Ziele an, wieviele Clients peilste den an ?

Dein Ansatz Funktioniert sicher, eine ID vergibt man meist damit du die Perfomancelast nicht auf dem Server hast + du minimierst Probleme der Synchronisation wenn es auf deiner Seite nicht nur ein Server ist der das ganze regelt. Wenn das ganze um 5 Clients geht kannst es wohl genauso so machen wie du es vor hast :P
dready is offline  
Old 07/30/2013, 06:02   #25
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Also es sollen schon ein paar mehr werden ^^ Was schlägst du den vor wenn ich mehr Clients habe ?

MFG Conrew
Conrew is offline  
Old 07/30/2013, 11:14   #26
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Bei so einem Projekt musst du die beide Größten Herausforderungen bedenken.

a) Cycles und Speicher sind Kostbar
b) Syncronisation zwischen deinen Servern muss nahezu Echtzeit sein, wenn du nicht in große Probleme rennen willst.

Übergibst du die IDs direkt beim Movepacket musst du nurnoch gegenchecken ob der jeweilige client diese ID bewegen darf, schickst du sie nicht mit musst du sie zuordnen und dafür Sorge tragen das diese Temoräre ID jedem deiner Server bekannt ist, die es dann wieder auf die jeweiligen Sockets matchen müssen, dort die Temporäre ID die sie zu anfang für das jeweilige Objekt angelegt haben und diese Wiederrum neu zuweise oder die alt übernehmen.

In jedem Fall wird es auf ne Menge "rumsuchen" rauslaufen und eine Suche ist etwas womit Computer einfach nicht gut fertig werden -> Perfomance ist mies dabei, deshalb möglichst andere Wege wählen.

So und nun der Gegenweg, für 4 Byte mehr in deinem Movepacket.

Client schickt den Move mit ID
Server prüft ob er das Recht dazu hat die ID zu bewegen.
Jeder Client der im Umkreis der ID ist bekommt das selbe Update, ID abc hat sich nach xy bewegt.
dready is offline  
Old 07/30/2013, 15:28   #27
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
generell,
es gibt 2 Wege

1. koords

Dabei werden die Koords übertragen

2. Movement
Dabei werden die laufbefehle übertragen und der Server passt die Posi an


100mb reichen locker für die paar Packete. Dein Vorgehen ist auch sehr gut für nen 2d game, mehr Aufwand würde sich nicht lohnen. ist sogar relativ schnell
VisionEP1 is offline  
Reply


Similar Threads Similar Threads
Problem mit der Logik - Aimbot
05/06/2013 - C/C++ - 4 Replies
Hallo, ich versuche mich gerade an meinem ersten Aimbot. Mir ist erstmal nur wichtig, dass er in die Richtung des Gegners zielt, die Höhe ist dabei (noch) egal. Ich schaffe es einfach nicht, dass genau auf den Gegner / in seine Richtung gezielt wird. Mein Code: void AimAtEnemy(SPlayer *player, SPlayer *enemy) {
problem (netzwerk)
12/27/2011 - Steam Trading - 1 Replies
moin moin wen ich mich bei steam einloggen will krige ich immer netztwerk probleme
Netzwerk problem
07/26/2011 - Technical Support - 1 Replies
Tag zusammen seit einigen tagen hab ich probleme mit meinem internet. Ich komme noch rein von meinem computer aus aber sonst nirgendwo mit meinem laptop und handy klappts nicht und die xbox kommt auch nicht rein. Ich habe ein Wlan Stick mit QSS den kann ich überall einstecken und er kriegt immer Wlan bei allen anderen wlan sticks kommt Netzwerkidentifizierung fehlshclag und eingeschränkter zugriff / keine Internetverbindung. auch per lan siehts nicht besser aus ich benutze eine...
Netzwerk Problem
05/28/2011 - Technical Support - 0 Replies
Sry, bei mir wurde das Thema iwi 2x aufgemacht, bitte das hier schließen.
[HELP]Netzwerk Problem
10/07/2010 - Metin2 Private Server - 2 Replies
hi immer wennn ich den server starte dann nach einer halben stunde komm ich nicht mer ins internet aber hamachi und der p server schon das problem ist dass xampp nicht mehr zum server connecten kann und die spieler au nit



All times are GMT +2. The time now is 22:09.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.