Jump to content

allamovec

New Members
  • Posts

    3
  • Joined

  • Last visited

allamovec's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. Yes it is exactly as you said , p1 need to broadcast a message for p2,p3,p4 ( for example player1 play so the other 3 players need to know what did the player1 play ?
  2. yes i know that php do not support multithreading but i tried to work around this problem by making multiprocess with shared object (using stream_socket_pair ) . 1- the master(mp) process is the parent for all forked process (p1,p2,p3,p4,p5,p6...... etc) 2- if p1 want to communicate with p2 it should leave a message for p2 at the master process . (ie: the master process will act as the container which all processess read and write from it ), the communication between the processes is indirect (it will be via the master process). but the master process sometime returned invalid data (may be because the load on the server). finally i decided to use java for the backend not php
  3. 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
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.