''' Created on Dec 27, 2014 @author: justin ''' import threading import time import select import socket def serverSocket(port,backlog = 5): """ creates a listening socket for the server port = port number to listen to backlog = number of backlog sockets """ serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.bind((socket.gethostname(), port)) serversocket.listen(backlog) return serversocket def clientSocket(address, port): """ address = creates a client socket to connect to some server port = port number to connect to """ clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) clientsocket.connect((address, port)) return clientsocket def server(): serverSock = serverSocket(12000) sock, address = serverSock.accept() for x in range(5): r,w,e = select.select([sock],[],[]) sock=r[0] print "server:", sock.recv(1024) serverSock.close() def client(): sock = clientSocket(socket.gethostname(), 12000) for x in range(5): print "client sending: test" sock.send("test") time.sleep(0.5) sock.close() if __name__ == "__main__": print "starting server thread" serverThread = threading.Thread(target = server) serverThread.start() time.sleep(0.1) print "starting client thread" clientThread = threading.Thread(target = client) clientThread.start()