Skip to content

Instantly share code, notes, and snippets.

@karlapsite
Created August 6, 2015 14:02
Show Gist options
  • Save karlapsite/a2636d7406a98419e400 to your computer and use it in GitHub Desktop.
Save karlapsite/a2636d7406a98419e400 to your computer and use it in GitHub Desktop.
#!/usr/bin/python3.4
import share
import socket
import sys
import threading
TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFER_SIZE = 20
def client_thread(conn):
conn.send(bytes("Welcome to the Server. Type messages and press enter to send.\n", "UTF-8"))
while True:
data = conn.recv(1024)
if not data:
break
reply = data
conn.send(reply)
conn.close()
if __name__ == "__main__":
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error as msg:
# TODO: ehh?
share.err("Could not create socket. Error Code: ", str(msg[0]), "Error: ", msg[1])
sys.exit(0)
share.log("Socket Created")
try:
s.bind((TCP_IP, TCP_PORT))
except socket.error as msg:
# TODO: ehh?
share.err("Bind Failed. Error Code: {0} Error: {1}".format(str(msg[0]), msg[1]))
s.listen(10)
share.log("Listening at {0} on port: {1}".format(TCP_IP, TCP_PORT))
try:
while True:
# blocking call, waits to accept a connection
conn, addr = s.accept()
share.log("Connected to " + addr[0] + ":" + str(addr[1]))
try:
client = threading.Thread(target=client_thread(conn))
client.start()
except ConnectionResetError:
share.log("it dead")
finally:
s.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment