i working on a multi player game project its strategy so i need to sending data for more that one object in the same time i created a client and server and that's worked for one object in the server and one object in the client but after i added the second object to the server i get a proplem not error just 3d objects position proplem and the controller for server objects get swapped for example the server have two objects that's i can get access to control it ["Cube"] and ["Server"] and the server have only one object that's called ["Client"] the proplem is when i run server then i controll my objects the engine swaping the objects in the client screen for example whe i click up arrow to move the ["Server"] object to up the ["Cube"] object who moves in the Client screen and when i click w key to move ["Cube"] object to up the ["Server"] object who moves in the client screen

that's my client code the ["client"] object are connected to it in the game engine 

    #------------Setup--------------#
    from pickle import dumps, loads
    from mathutils import Vector
    from GameLogic import * 
    import GameLogic as GameLogic
    import bge
    from socket import *
    import socket
    import pickle
    
    
    cont = GameLogic.getCurrentController()
    owner = cont.owner
    #obj = cont.owner
    
    if not owner['OneTime']:
      ServerIP = GameLogic.IP
      Serverport = 2052
      Clientname = ''
      ClientPort = 2053
      GameLogic.sClient = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
      GameLogic.sClient.bind((Clientname,ClientPort))
      GameLogic.host = (ServerIP,Serverport)    
      GameLogic.sClient.setblocking(0)
      owner['OneTime'] = 1
    
    PosYou = list(owner.worldPosition)
    
    scene = getCurrentScene()
    Cube = scene.objects["Cube"]
    Server = scene.objects["Server"]
    
    
    PosServer = [0,0,0]
    PosCube = [0,0,0]
    #------------RECEIVE/SEND--------------#    
    
    Data = pickle.dumps((PosYou))
    
    GameLogic.sClient.sendto(Data,GameLogic.host)
    
    try:
        #thefucking proplem
        Data, SRIP = GameLogic.sClient.recvfrom(1024)
    
    
    
        UPData = pickle.loads(Data)
        PosServer = [UPData[0],UPData[1],UPData[2]]
        Server.worldPosition = PosServer 
        Data2, SRIP2 = GameLogic.sClient.recvfrom(1024)
        UPData2 = pickle.loads(Data2)
    
        PosCube = [UPData2[0],UPData2[1],UPData2[2]]
        Cube.worldPosition = PosCube 
    
    
    
    
    except OSError:
        pass            
    #---------------THE-END----------------#


that's my server code the ["Server"] object are connected to it in the game engine 


    #------------Setup--------------#
    from GameLogic import * 
    import GameLogic as GameLogic
    import bge
    from socket import *
    import socket
    import pickle
    
    from pickle import *
    cont = GameLogic.getCurrentController()
    owner = cont.owner
    #obj = cont.owner
    
    if not owner['OneTime']:
      Host = "localhost"
      ServerPort = 2052
      GameLogic.sServer = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
      GameLogic.sServer.bind((Host,ServerPort)) 
      GameLogic.sServer.setblocking(0)
      owner['OneTime'] = True
    
    PosYou = list(owner.worldPosition)
    
    scene = getCurrentScene()
    Client = scene.objects["Client"]
    Cube = scene.objects["Cube"]
    PosClient = [0,0,0]
    PosCube = [0,0,0]
    #------------RECEIVE/SEND--------------#
    
    try:
        Data, CLIP = GameLogic.sServer.recvfrom(1024)
        UPData = pickle.loads(Data)
        PosClient = [UPData[0],UPData[1],UPData[2]]
        Client.worldPosition = PosClient 
        Data = pickle.dumps((PosYou))
        GameLogic.sServer.sendto(Data,CLIP)  
    
    
    except OSError:
        pass
    #---------------THE-END----------------#


the second object code the ["Cube"] object and that's connected two the object in the game engine and i get this error when i run it 



>     File "secondob.py", line 18, in AttributeError: 'module' object has no attribute 'sServer'


    #------------Setup--------------#
    from GameLogic import * 
    import GameLogic as GameLogic
    import bge
    from socket import *
    import socket
    import pickle
    
    from pickle import *
    cont2 = GameLogic.getCurrentController()
    owner2 = cont2.owner
    #obj = cont.owner
    
    
    
    
    
    GameLogic.sServer.setblocking(0)
    PosYou2 = list(owner2.worldPosition)
    
    
    scene = getCurrentScene()
    Client = scene.objects["Client"]
    PosClient2 = [0,0,0]
    #------------RECEIVE/SEND--------------#
    
    try:
    
        Data2, CLIP2 = GameLogic.sServer.recvfrom(1024)
    
    
        UPData2 = pickle.loads(Data2)
        PosClient2 = [UPData2[0],UPData2[1],UPData2[2]]
    
        Client.worldPosition = PosClient2     
        Data2 = pickle.dumps((PosYou2))
        GameLogic.sServer.sendto(Data2,CLIP2)  
    except OSError:
        pass
    #---------------THE-END----------------#