Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (748)
Games in Android Showcase (226)
games submitted by our members
Games in WIP (834)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Packet spamming  (Read 3402 times)
0 Members and 1 Guest are viewing this topic.
Offline Mads

JGO Ninja

Medals: 26
Projects: 3
Exp: 6 years

One for all!

« Posted 2011-01-31 13:58:22 »


This is confusing me:
The client should not "block" the user from sending packets rapidly (the user can send those themselfs).
So, how the server sort out all those packets (from the same sender)? If someone sends 26 movement packets, how do I avoid moving them 26 times?
Handling only one packet per player, per cycle is bad right?

Offline delt0r

JGO Wizard

Medals: 141
Exp: 18 years

Computers can do that?

« Reply #1 - Posted 2011-02-01 10:02:25 »

You need to define your problem better. Or even just what the "networking" is doing. That will probably produce the solution for you.

If i have guessed right, you are trying to defend against a "replay" attack. What I do is number every packet. If I have received the packet before then i drop it. If the packet is too "old" i drop it. My packet window is 64 packets. (ie i can receive packets within 64 of the highest packet seen so far). This deals with things getting out of order. With TCP you don't even need to do that. 

If you are using UDP (to start with i would use TCP and only change if you need to), you will need some form of flow control. You cannot get around that. Quake3 etc use a very simple form of flow control. They send a fixed amount of packets per second. If your network can't handle it your connection effectively times out. Anything more complicated than that, and again i would just stick with TCP.

There are also libs you can use and there are quite a few threads here on the topic that go into quite a bit of detail.

I have no special talents. I am only passionately curious.--Albert Einstein
Offline deepthought
« Reply #2 - Posted 2011-02-28 16:53:50 »

looks like delt0r covered everything pretty good. i just have one thing to add. every now and then, send packets to update EVERYTHING in case some of the packets don't get through.

Mad Scientist
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Nate

« JGO Bitwise Duke »

Medals: 167
Projects: 4
Exp: 14 years

Esoteric Software

« Reply #3 - Posted 2011-03-01 09:50:21 »

every now and then, send packets to update EVERYTHING in case some of the packets don't get through.
Unnecessary with TCP.

Offline deepthought
« Reply #4 - Posted 2011-03-01 13:14:56 »

sorry. forgot to specify. it is unnecessary with TCP. might need it for UDP, though.

Mad Scientist
Pages: [1]
  ignore  |  Print  

xxMrPHDxx (322 views)
2017-12-31 17:17:51

xxMrPHDxx (103 views)
2017-12-31 17:15:51

xxMrPHDxx (153 views)
2017-12-28 18:11:33

Ecumene (333 views)
2017-09-30 02:57:34

theagentd (499 views)
2017-09-26 18:23:31

cybrmynd (537 views)
2017-08-02 12:28:51

cybrmynd (477 views)
2017-08-02 12:19:43

cybrmynd (454 views)
2017-08-02 12:18:09

Sralse (415 views)
2017-07-25 17:13:48

Archive (1321 views)
2017-04-27 17:45:51
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!