meta data for this page

This is an old revision of the document!

TCP #2

This is a second part of TCP exercises.

Task for week 45

1. Unexpected connection termination or crashed TCP connections.

  • How to react to these conditions?
  • What can cause the termination/crashing of the connection?

2. Multiple concurrent users on TCP server.

  • Implement multiuser support to the tcpexample. See Connection multiplexing with select. Keep the client connection open until the server is shutting down.
    • What issues have to be noted?
    • What kind of “database” you'd use for the clients?

3. Timing is of the essence - how about with multiple concurrent users over TCP?

  • How would you guarantee a equal response time for each client?
  • What are the risks with the use of TCP in games regarding:
    • delays
    • small packets
    • congestion/bad connection

4. Think about a situation where your game has to establish a connection between a server and a client using UDP and your game also needs TCP for separate reliable data transfer channel. How would you achieve this?

Tools for the task

socket(), bind(), listen(), accept(), connect(), recv(), send(), select(), shutdown(), close(), getsockopt(), setsockopt()

getaddrinfo(), memcpy(), memset(), strcpy(), strncpy(), strlen(), sizeof()

TCP Congestion Control

Link added on 03.11.14 @ 20:42

Task for next week (week 46): SCTP #1

CT30A5002 - Games and Networking