Begin rewrite of socket connections
This commit is contained in:
parent
fa6e5d8213
commit
66406ed739
@ -13,10 +13,11 @@ MyVirtual = pyxinput.vController()
|
|||||||
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
client.connect((ip, port))
|
client.connect((ip, port))
|
||||||
while True:
|
while True:
|
||||||
from_server = client.recv(8144)
|
from_server = client.makefile(mode='rb')
|
||||||
#Decode Sever message
|
#Decode Sever message
|
||||||
decodedServerData = pickle.loads(from_server)
|
unpickler = pickle.Unpickler(from_server)
|
||||||
print("Raw Data:", str(decodedServerData))
|
decodedServerData = unpickler.load()
|
||||||
|
print("Raw Data:", decodedServerData)
|
||||||
# pyxinput will only accept values one at a time, so we need to apply the itme in the dictionary one by one
|
# pyxinput will only accept values one at a time, so we need to apply the itme in the dictionary one by one
|
||||||
for event, state in decodedServerData.items():
|
for event, state in decodedServerData.items():
|
||||||
MyVirtual.set_value(event, state)
|
MyVirtual.set_value(event, state)
|
||||||
|
22
Server.py
22
Server.py
@ -18,20 +18,20 @@ controllerData = ""
|
|||||||
controllerDataDict = {'AxisLx': 0, 'AxisLy': 0, 'AxisRx': 0, 'AxisRy': 0, 'BtnBack': 0, 'BtnStart': 0, 'BtnA': 0, 'BtnB': 0, 'BtnX': 0, 'BtnY': 0, 'BtnThumbL': 0, 'BtnThumbR': 0, 'BtnShoulderL': 0, 'BtnShoulderR': 0, 'Dpad': 0, 'TriggerL': 0, 'TriggerR': 0}
|
controllerDataDict = {'AxisLx': 0, 'AxisLy': 0, 'AxisRx': 0, 'AxisRy': 0, 'BtnBack': 0, 'BtnStart': 0, 'BtnA': 0, 'BtnB': 0, 'BtnX': 0, 'BtnY': 0, 'BtnThumbL': 0, 'BtnThumbR': 0, 'BtnShoulderL': 0, 'BtnShoulderR': 0, 'Dpad': 0, 'TriggerL': 0, 'TriggerR': 0}
|
||||||
#Lookup table to convert values from the "inputs" library
|
#Lookup table to convert values from the "inputs" library
|
||||||
lookup_table = {'ABS_X': 'AxisLx', 'ABS_Y': 'AxisLy', 'ABS_RX': 'AxisRx', 'ABS_RY': 'AxisRy', 'BTN_SELECT': 'BtnBack', 'BTN_START': 'BtnStart', 'BTN_SOUTH': 'BtnA', 'BTN_EAST': 'BtnB', 'BTN_NORTH': 'BtnX', 'BTN_WEST': 'BtnY', 'BTN_THUMBL': 'BtnThumbL', 'BTN_THUMBR': 'BtnThumbR', 'BTN_TL': 'BtnShoulderL', 'BTN_TR': 'BtnShoulderR', 'ABS_Z': 'TriggerL', 'ABS_RZ': 'TriggerR'}
|
lookup_table = {'ABS_X': 'AxisLx', 'ABS_Y': 'AxisLy', 'ABS_RX': 'AxisRx', 'ABS_RY': 'AxisRy', 'BTN_SELECT': 'BtnBack', 'BTN_START': 'BtnStart', 'BTN_SOUTH': 'BtnA', 'BTN_EAST': 'BtnB', 'BTN_NORTH': 'BtnX', 'BTN_WEST': 'BtnY', 'BTN_THUMBL': 'BtnThumbL', 'BTN_THUMBR': 'BtnThumbR', 'BTN_TL': 'BtnShoulderL', 'BTN_TR': 'BtnShoulderR', 'ABS_Z': 'TriggerL', 'ABS_RZ': 'TriggerR'}
|
||||||
print("Waiting for connection...")
|
#print("Waiting for connection...")
|
||||||
def sendData():
|
def sendData():
|
||||||
#Pickle for transmittion
|
#Pickle for transmittion
|
||||||
encodedControllerData = pickle.dumps(controllerDataDict)
|
encodedControllerData = pickle.Pickler(controllerDataDict)
|
||||||
#print(encodedControllerData)
|
#print(encodedControllerData)
|
||||||
conn.send(encodedControllerData)
|
pickler.dump(encodedControllerData)
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
file.flush()
|
||||||
s.bind((ip, port))
|
#Create Socket
|
||||||
s.listen(1)
|
conn = socket.create_server((ip, port))
|
||||||
#s.setblocking(False)
|
file = conn.makefile(mode='wb')
|
||||||
conn, addr = s.accept()
|
pickler = pickle.Pickler(file)
|
||||||
with conn:
|
#print(colored('Connected by', 'red'), addr)
|
||||||
print(colored('Connected by', 'red'), addr)
|
|
||||||
print(controllerDataDict)
|
print(controllerDataDict)
|
||||||
|
with conn:
|
||||||
while True:
|
while True:
|
||||||
events = get_gamepad()
|
events = get_gamepad()
|
||||||
for event in events:
|
for event in events:
|
||||||
@ -70,5 +70,3 @@ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|||||||
# Add values to controllerDataDict
|
# Add values to controllerDataDict
|
||||||
controllerDataDict[lookup_table[str(event.code)]] = event.state
|
controllerDataDict[lookup_table[str(event.code)]] = event.state
|
||||||
sendData()
|
sendData()
|
||||||
#Execute everything
|
|
||||||
controllerLoop()
|
|
||||||
|
Loading…
Reference in New Issue
Block a user