Sign in to follow this  
wizardpc

help a noobie

Recommended Posts

After programming several games, i want to learn winsock, so that i can make a simple multiplayer game. I don't want to make a MMORPG, actually, i want to make just a simple chatroom application. This will be like my "hello world" for multiplayer.Also, i want this to be a server /client setup (as my future gamees would have this kind of setup) and programed in c++ my real question is: Lets say i have a dedicated server on one of my old computers that runs everyday. I was told that my IP address changes (im not shutting off the computer). So how do you code in the clients application, to deal with this change. If i hardcode the ip address and the servers ip address changes, then obviously the client's app won't connect. How do you guys get around this? is my servers fault for changing ip addresses? if so is there a way to stop that? what are the techniques that you guys use? thanks in advance

Share this post


Link to post
Share on other sites
Quote:
Original post by wizardpc
I was told that my IP address changes (im not shutting off the computer). So how do you code in the clients application, to deal with this change.

I don't think the IP will change if you keep the computer running.

Quote:
Original post by wizardpc
is my servers fault for changing ip addresses? if so is there a way to stop that?

I think you Internet Service Provider is the cause of that. But it is easy to test. goto www.myip.dk and see what IP you have. Shut down your computer and boot again. Enter page. Is IP the same? (If you have modem, then just disconnect and connect again).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
yes thats what i ment, the internet service provider changes my ip. I have a cable connection if that helps.


i don't understand what you mean by page.

i know you might also tell me that, its not going to change in the amount of time the chat program is running, since this is just a testing purpose, but i wanted to know because i do plan eventually having a game with up to 8 players (just my friends playing it) where they can log onto the server, play, leave. and resume where they took off at a later date. So i want to make sure my clients can connect to my server, because i have work and school most of the day.

i know how to find my ip address, but my real question is, how does one code the client app for this ?


thanks,

p.s. if i was to stupid to see the answer in the above post, my apologizies

Share this post


Link to post
Share on other sites
The likely answer is to connect to a computer name, not an IP. If you're running it on a Windoze network I think you can use the computer name (as in what you see in Network Places or whatever it's called). Over the Internet, you'll have a computer name like myloginname.isp.net (example: bobjanova.demon.co.uk) and you can connect to that.

Share this post


Link to post
Share on other sites
One option is to get a DSL/Cable Router. If the ISP changes the IP it will just be on the router. Then you can assign IP addresses to each computer using 192.168.x.x. Or go into the router and enter your computers MAC so it always gets the same DHCP address.

If you are running a server OS (Win2k, Win2k3, *nix) on one of you computesr in the LAN, you could set up DNS with a fake domain and use DNS resolution.

Share this post


Link to post
Share on other sites
The problem with a router is that, while it keeps your IP constant within the network, it still doesn't help anyone outside the network.

Quote:
I don't think the IP will change if you keep the computer running.


Actually, it may very well -- the DHCP server doesn't have to renew your lease, but can instead give you another IP address. Some cable providers allow you to get a static IP, for a fee, btw.

The solution to a potentially changing DNS set-up is dynamic DNS. For example, DynDns. Set your machine to update your record every 30 minutes, and your service won't be down because of an IP change for more than 30 minutes, when it happens.

Share this post


Link to post
Share on other sites
Quote:
Original post by hplus0603
Actually, it may very well -- the DHCP server doesn't have to renew your lease, but can instead give you another IP address. Some cable providers allow you to get a static IP, for a fee, btw.

Really? So in the middle of a game of BF2 the IP suddenly changes and you are disconnected? I have a hard time believing that. Or is it only if you have NO open connections?

Share this post


Link to post
Share on other sites
Quote:
Really? So in the middle of a game of BF2 the IP suddenly changes and you are disconnected? I have a hard time believing that. Or is it only if you have NO open connections?


im not sure about this but to my knowledge yes the servers ip adress is reevaluated (not necessarily changed) roughly every three days and when it changes because on a game life BF2 the server has a registered domain name DNS prototcols can kick in and retrieve the new IP address from the nearest server that has it chached and reestablish the connection in 500-1000 miliseconds

Share this post


Link to post
Share on other sites
The best way to see if your ISP changes your IP address is to monitor it. Check it for a week and see if it changes or not. The way DHCP works is that during the lease time your machine will periodically check in with the DHCP server to renew the address. If it is successful in renewing the address then it will extend the lease to the maximum allowed.

So you really shouldn't get a new address unless your PC/router is powered off or you manually release your current address.

Share this post


Link to post
Share on other sites
Quote:
Really? So in the middle of a game of BF2 the IP suddenly changes and you are disconnected? I have a hard time believing that. Or is it only if you have NO open connections?


DHCP knows nothing about open connections. If your ISP has decided to re-number your IP block, or change routing, or whatever, at some specific point in time, they will not let their DHCP server renew leases for longer than that cut-off time. At that point, your IP lease is expired, and may no longer route to you; you will have to acquire a new IP address.

In practice, this happens seldom, unless you turn off your computer or firewall. But it's certainly part of the DHCP protocol capabilities, and an hypothetical ISP that wanted to physically prevent servers on their network could force it to happen, say, every midnight. Again, in reality, this is a large hassle, and most of the time, you'll keep renewing and keeping your current IP, at least until power off.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this