-
-
Save eagleEggs/c08f94ec3c2857564c26d4ea90633514 to your computer and use it in GitHub Desktop.
Networking base class
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ######################################################################### ### | |
# ########### NETWORK CONTROLLER ########### ### | |
# ######################################################################### ### | |
class Networking(object): | |
def __init__(self, server_ip, server_port, server_password, | |
server_data, object_pass): | |
self.server_ip = server_ip | |
self.server_password = server_password | |
self.server_port = server_port | |
self.sock_obj = socket(AF_INET, SOCK_STREAM) | |
#self.sock_obj.settimeout(30) no timeout | |
self.server_send_data = server_data | |
self.object_pass = object_pass | |
# ######################## | |
# ## NETWORK LISTEN ## | |
# ######################## | |
def open_connection_listener(self): | |
self.sock_obj.bind((self.server_ip, self.server_port)) | |
self.sock_obj.listen(99) | |
while True: | |
print("Starting Server") | |
connection, address = self.sock_obj.accept() | |
print("Accepted Connection") | |
thread.start_new_thread( | |
self.open_connection_thread_listener, | |
(connection, address)) | |
def open_connection_thread_listener(self, connection, address): | |
while True: | |
received_data = connection.recv(1024) | |
print("Data: {}, Address: {}").format(received_data, address) | |
if received_data == "task": | |
Scheduler("do", self.object_pass) | |
else: | |
pass | |
# ######################## | |
# ## NETWORK SEND ## | |
# ######################## | |
def open_connection_sender(self): | |
thread.start_new_thread( | |
self.open_connection_thread_sender, | |
(self.server_ip, self.server_port, self.server_send_data)) | |
def open_connection_thread_sender(self, server_ip, server_port, | |
server_send_data): | |
self.sock_obj.connect((self.server_ip, self.server_port)) | |
self.sock_obj.send(str.encode(self.server_send_data)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment