[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiuser problems



On Mon, 25 Oct 1999, Tim Brown wrote:
> Falko Braeutigam wrote:
> 
> > In versions prior to 0.3 there was a bug that causes _exactly_ your
> > StreamCorrupted errors. The problem was that the methods of RemoteDatabase were
> > not synchronized and so send/receive from one thread could interfere with
> > send/receive of another thread, if they use the same RemoteDatabase and so the
> > same socket. I have fixed this in 0.3. The test code is in
> > org/ozoneDB/test/multiple_access.
> >
> > Tim, you get StreamCorrupted errors when you access one server from different
> > _processes_ (JVMs)??? Sorry for this stupid question, but are you really sure?
> >
> > Do you get the exception in the client VM or in the server VM?
> >
> >
> 
> I get it anyway you want to imagine.  I get it in the clientVM, or my game
> server.  I get it from seperate threads ,  but not seperate VMs.  I had 2 clients
> (game clients, so clients of my game server.  Only one VM will be talking to ozone
> at a time.  My players will all talk to the ozone client.
> 
> I will look at the distribution you reference.  I had to give up on the other one.

Again, do you have different instances of RemoteDatabase in each thread?

Please try the multiple_access test which is included in the 0.3 distribution.
The code is very simple. The test allows you to check two threads using the
same and different RemoteDatabase instances. What are your results?


BTW: as I understand, you are using an architecture like this:

GameClient ---
             |
GameClient -----> GameServer -----> ozoneServer

Right? If there is no need to access the ozone server from different
GameServers, then you should try put GameServer and ozoneServer together in one
VM in order to avoid to much net traffic and get the best performance. There
are two ways:

1.) Put the GameServer code in persistent classes and let the server run inside
the database server.

2.) "Bind" the ozone server to your GameServer by using LocalDatabase instead
of RemoteDatebase.


Falko
-- 
______________________________________________________________________
Falko Braeutigam                         mailto:falko@softwarebuero.de
softwarebuero m&b (SMB)                    http://www.softwarebuero.de