Arrow_left   Arrow_right
 
  #36

Sock Improvement

    • Status: Fixed
    • Priority: Normal (3)
    • Component: -
    Ornery Orc will decrease the server sock size that is sent each time a player's status is updated Here is a look at the server sock messages

    <msg to='' from='' group_id='' />
    <player id='' ip='' group_id='' name='' action='new,del,group,update' status="" version=""/>
    <group id='' name='' pwd='' players='' action='new,del,update' />
    <create_group from='' pwd='' name='' />
    <join_group from='' pwd='' group_id='' />
    <role action='set,get,display' player='' group_id='' boot_pwd='' role=''/>


    The future server enhancements will shorten the messages sent to something like this.

    <player_name id='' name='' />
    <player_update id='' status='' />
    <player_new id='' ip='' name='' status='' version='' />
    <player_group id='' group_id='' />
    <player_del id='' />


    The data of players will be placed inside a dictionary, which the clients and the server will use to reference the needed material.

    Instead of working on a backwards compatibility I will be working on a forwards compatibility effect. Future clients and servers will create a new tag in the <player_new /> field that shows they will recognize this type of transmission. If the room is a full of users that will understand the transmission, then that style of transmission will be used, otherwise it will resort to the old style of transmission.
  • Followers
     
    Ico-users sirebral (Assigned To) 
     
    Attachments
    No attachments
    Associations
     
    No associations
    Activity
     
    User picture

          on Oct 07, 2009 @ 02:49AM UTC * By sirebral

    Status changed from New to Accepted
    Progress Change:

    Moving this to a plugin to start with. When it is finished it will remain a plugin for users of different verions. Server plugin included.

    It will also be up for sale on RPGNow, if you want to support future development.
    User picture

          on Nov 11, 2009 @ 02:38PM UTC * By sirebral

    Milestone changed from Ornery Orc to Pious Paladin
    User picture

          on Feb 24, 2010 @ 08:10PM UTC * By sirebral

    Milestone changed from Pious Paladin to Gnarly Necromancer
    User picture

          on Feb 27, 2010 @ 02:05AM UTC * By sirebral

    Moving this back and forth .. grr. I am looking at the network currently and I believe I can accomplish this in Pious if I can find a way for the client to grab a version number from the server.

    The older Client - Server relationship is very loose. Even though the client sends data directly to the server's sock, The server replies to all connect socks and sends out data very loosely.

    By creating a client in Pious that looks for a server number the client can then decide if it should send the loose data to the server, or the new tightened data. On the same note, a new Server can obtain all the needed data when a client connects and use that to determine if the client can handle the older loose data or the newer tightened data.

    The task can be accomplish this way:

    1. Client connects to Server, sends Server it's client string which contains name, ip, versions, and such.
    2. Server receives data, assigns client an ID number, and places data in a dictionary of dictionaries.
    Example:
    {0: {'name': 'player1', 'ip': '127.0.0.1'}, 1: {'name': 'player1', 'ip': '127.0.0.1'}}

    1. Server then sends Client ID and Traipse Pure Network token.
    Example:
    [msg network='Traipse Pure']version 1.0[/msg]

    1. Client accepts message and assigns the data to an object.
    2. Client understands this is a Traipse Pure Network and will send the tightened string.

    If the object is empty, the Client will understand the network uses the lose data format.
    User picture

          on Feb 27, 2010 @ 02:06AM UTC * By sirebral

    for more info on how the Server sends data to clients, look at the send_to_all function in the mplay_server file.
    User picture

          on Feb 13, 2011 @ 06:07AM UTC * By sirebral

    Status changed from Accepted to Fixed
    Fixed in OpenIM.
    Time Expenditure
    Loading