Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (777)
Games in Android Showcase (231)
games submitted by our members
Games in WIP (856)
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 3604 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: 145
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  

hadezbladez (349 views)
2018-11-16 13:46:03

hadezbladez (183 views)
2018-11-16 13:41:33

hadezbladez (348 views)
2018-11-16 13:35:35

hadezbladez (84 views)
2018-11-16 13:32:03

EgonOlsen (2179 views)
2018-06-10 19:43:48

EgonOlsen (2221 views)
2018-06-10 19:43:44

EgonOlsen (1378 views)
2018-06-10 19:43:20

DesertCoockie (2011 views)
2018-05-13 18:23:11

nelsongames (1668 views)
2018-04-24 18:15:36

nelsongames (2308 views)
2018-04-24 18:14:32
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46 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!