Networking


Why can't I send UDP packets from a browser?

A solution for enabling UDP in the web


Client Server Connection

How to create a client/server connection over UDP


Reliable Ordered Messages

How to implement reliable-ordered messages on top of UDP


Sending Large Blocks of Data

How to send blocks quickly and reliably over UDP


Packet Fragmentation and Reassembly

How to send and receive packets larger than MTU


Serialization Strategies

Smart tricks that unify packet read and write


Reading and Writing Packets

Best practices for reading and writing packets


State Synchronization

Keeping simulations in sync by sending state


Snapshot Compression

Advanced techniques for optimizing bandwidth


Snapshot Interpolation

Interpolating between snapshots of visual state


Deterministic Lockstep

Keeping simulations in sync by sending only inputs


Introduction to Networked Physics

Three ways to network a physics simulation


Floating Point Determinism

Is it possible to make floating point calculations completely deterministic?


What Every Programmer Needs To Know About Game Networking

A short history of game networking techniques


Reliability and Congestion Avoidance over UDP

How to implement reliability and congestion avoidance in a completely different way to TCP


Virtual Connection over UDP

How to create a virtual connection over connectionless UDP


Sending and Receiving Packets

How to send and receive packets over UDP with BSD sockets


UDP vs. TCP

Which protocol is best for games?


Networked Physics (2004)

How to network a physics simulation