[eluser]itsme[/eluser]
Iam working on a multi-users online game and the scenario is :-
1- I fork a new process for each connection
2- first i stared with making a shared object with (unix sockets) , this object was containing the shared data among the process (ie: this object was the responsible for intercommunication between the processes
3-But i notice that there is al ot of errors on the data returned from the shared objects (unexpected data).
4- so i separated my code and start to depend only on memcache(with 1024 storage capacity) to transfer objects among the processes.
5- the users can play with each other in a specific room.
5-each user has on object(instance of player class) in the memcache
6-each room has an object(instance of room class) in the memcache
The problem is : -
all is ok if there is a few number of players in the server but
If there is a lot of players in the server the memcache produce an error
Memcache::get(): Server localhost (tcp 11211) failed with: Malformed VALUE header (0)
Memcache::replace(): Server localhost (tcp 11211) failed with: Received malformed response (0)
Memcache::get(): Server localhost (tcp 11211) failed with: Failed reading line from stream (0)
and some times the memcache return to me an object of player instead of object of room
ex:
$memcache->get("player1") should return an object for a player class but it sometime return an object for a room class
$memcache->get("room1") should return an object for a room class but it sometime return an object for a player class
i did not know what is the problem