C# network programming advanced article web game auxiliary program design code package