pyInputStreaming/Client.py

26 lines
825 B
Python

#!/usr/bin/python
import socket
import threading
import pyxinput
from time import sleep
import pickle
# Define server ip and port
ip = '192.168.122.1'
port = 2222
# Create virtual controller
MyVirtual = pyxinput.vController()
# Connect to Server
conn = socket.create_connection((ip, port))
from_server = conn.makefile(mode='rb')
#Decode Sever message
#unpickler = pickle.Unpickler(file)
while True:
#decodedServerData = unpickler.load()
decodedServerData = pickle.load(from_server)
#print("Raw Data:", from_server)
#print("Unpicked Data: ", decodedServerData)
# pyxinput will only accept values one at a time, so we need to apply the items in the dictionary one by one
for event, state in decodedServerData.items():
MyVirtual.set_value(event, state)
#print('\''+event+'\''+',', state)