Unfortunately, it is impossible to give you a definitive schema for your application without much more detail on in from your side. I cannot even say if the service part is needed, or you can develop P2P (point-to-point) game.
Please see what are different possible level can be used and what's involved:
Communication b/w two Windows applications on LAN.[
^].
The client-server model is, strictly and technically speaking, is not the opposite to client-to-client. The limitation of client-server model is the lack of Inversion of Control, something you should understand:
http://en.wikipedia.org/wiki/Inversion_of_control[
^]. Your design should depend on how do you provide Inversion of Control, if any at all. If this is a game with two or more human players, you will need it.
Chances are, it it possible to solve your problem on any of the layers. In my opinion, WCF tends to provide a very fast and robust solution in simple and most typical cases, while looses its benefits over "classic" remoting where much greater flexibility is needed (in terms of logic and structural complexity). Usually, the level of TCP with
System.Net.Sockets.TcpListener
/
System.Net.Sockets.TcpClient
is quite enough in terms of flexibility; you would not need lower level. Again, it depends.
—SA