meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:ct30a5002:ex4 [2013/10/22 19:46]
julaakko [Task for week 44]
courses:ct30a5002:ex4 [2014/11/03 23:49] (current)
julaakko [Tools for the task]
Line 1: Line 1:
 +====== 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 {{:​courses:​ct30a5002:​tcpexample2014.tar.gz|tcpexample}}. See [[courses:​ct30a5002:​select|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()''​
 +
 +[[https://​tools.ietf.org/​html/​rfc5681|TCP Congestion Control]]
 +
 +[[http://​gafferongames.com/​networking-for-game-programmers/​|Game Networking]]
 +> Links added on 03.11.14 @ 21:15
 +
 +----
 +Task for next week (week 46): [[courses:​ct30a5002:​ex5|SCTP #1]]
 +
 +----
 +[[courses:​ct30a5002:​start|CT30A5002 - Games and Networking]]