Server
Started by Pandilex, Jul 14 2009 01:29 AM
13 replies to this topic
#1
Posted 14 July 2009 - 01:29 AM
Server will be left running but will probably crash overnight, due to a few programming oversights that should be fairly easy to fix.
Technical explanation:
If you speak (for example), everyone in the room hears it. It goes through the list one by one and tells each person what you said.
If you quit the game at the same time as someone speaks, it tries to tell them, but realises they have disconnected. So it removes you from the map.
This crashes the server because it was going through a list of players to tell, but the list was altered before it was finished (because someone logged out).
Technical explanation:
If you speak (for example), everyone in the room hears it. It goes through the list one by one and tells each person what you said.
If you quit the game at the same time as someone speaks, it tries to tell them, but realises they have disconnected. So it removes you from the map.
This crashes the server because it was going through a list of players to tell, but the list was altered before it was finished (because someone logged out).
#4
Posted 15 July 2009 - 03:47 PM
In the process of converting my networking library to use the WCF (a completely different, new networking methodology) which is taking some time, as I have never used the WCF before and there is a lot to learn.
The server part is 90% done and seems to be working, so all that remains is the client.
The server part is 90% done and seems to be working, so all that remains is the client.
#6
Posted 19 July 2009 - 11:05 AM
After huge difficulties I finally managed to get the basic client/server structure sorted out and working.
The next step is to attempt to build a new communication library that functions identically to the old one and switch them.
The next step is to attempt to build a new communication library that functions identically to the old one and switch them.
#9
Posted 19 July 2009 - 11:07 PM
Fingers crossed, a couple of days. Some problems with the original networking code meant I chose to rewrite it using the Windows Communication Foundation... which involved learning it. It's not very well documented so it has taken me about 4 days of solid work to finally get a small test server/client running.
I'll put the technology into the real server/client tomorrow, and if all goes well, it should be ready for bug fixing.
The only problem is as it's so poorly documented and hard to understand, is that if there are any problems they will be very hard to fix
I'll put the technology into the real server/client tomorrow, and if all goes well, it should be ready for bug fixing.
The only problem is as it's so poorly documented and hard to understand, is that if there are any problems they will be very hard to fix
#12
Posted 22 July 2009 - 02:27 AM
Server is programmed and working, client code will be written tomorrow, tested, and the server will be left online until it crashes as I am away thursday-sunday and start my job monday.
Now that I know how to use the WCF I can (and will at some point) set it up to do things you'd spend years doing in VB, such as writing an interface for the server so you can see if it's online, who's online etc. directly without pre-generating pages. If nightmist was C# you could have cross-game paging with absolutely no effort whatsoever... I'll probably write and expose the methods to do that anyway just in case I want to use them in the future (chat in game using your iphone or whatever).
I can expose it as http and tcp webservices with complete metadata retreival capability so practically any decent tools/language today can generate the code for you...
Just because I can, I'll probably write a windows mobile app at some point to chat in game.
Now that I know how to use the WCF I can (and will at some point) set it up to do things you'd spend years doing in VB, such as writing an interface for the server so you can see if it's online, who's online etc. directly without pre-generating pages. If nightmist was C# you could have cross-game paging with absolutely no effort whatsoever... I'll probably write and expose the methods to do that anyway just in case I want to use them in the future (chat in game using your iphone or whatever).
I can expose it as http and tcp webservices with complete metadata retreival capability so practically any decent tools/language today can generate the code for you...
Just because I can, I'll probably write a windows mobile app at some point to chat in game.
Reply to this topic
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users