Jump to content
  • Advertisement
Sign in to follow this  
ChristianPena

[.net] [C#] Inter-process Communication and Single Player on Client Server

This topic is 4706 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

The long title says it all! :) I am cooking up a client server architecture for a 3D action game. The server will communicate with the client through a combination of TCP and UDP as described in the Quake3 Network article. I am wondering how to have the local player communicate with the server. If the player is starting a single player game, then they are creating the server. If the player is hosting a game then they may well have the server up and running and then join up. Ideally, I would like to have the server running as a seperate process. One option is to have straightforward TCP/UDP communication between the client and the server, but this seems a waste since the player is on the local machine. Another way is to use remoting through the IpcChannel introduced in .NET 2.0. Is remoting overkill in this case? Yet another way is to use named pipes as described on the Code Project site. This approach seems fairly complicated, but in a sense, it seems to be the most appropriate. What are your suggestions? Also, please correct me if my assumptions above are off the mark.

Share this post


Link to post
Share on other sites
Advertisement
Developing (and maintaining) two (sort of) different clients is more difficult than just one. I wouldn't wory about the 'lag' because the remote machine will suffer more from that.

I'd pick a seperate server process that could be accessed by one (or more -> more complex) protocols... and start with one protocol.

Cheers

(Isn't it nice to findout why MS is creating something like Windows Communication Foundation... :-) )

Share this post


Link to post
Share on other sites
Thanks for the reply. That may well be what I end up doing.

I actually wanted to start with the single player protocol and then implement the network protocols, but the idea is to abstract out the common functionality into an interface so that at run time, I can swap out the actual underlying protocol.

I suppose I could just work with TCP/UDP which is necessary for remote clients and can be used for the local client, but I wanted to be sure that I wasn't missing anything.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!