コード例 #1
0
def main():
    '''
    Once the socket is bound the client is handled in another thread to
    allow for asynchronous input
    '''
    print "Press ctrl-c to stop server..."
    listener_socket = SocketWrapper()
    #Serving local clients only for efficiancy purposes
    try:
        listener_socket.port_number = int(sys.argv[1])
    except:
        print "Usage: mudserver.py PORT"
        sys.exit(1)   

    #change hostname to inet address of computer the server is run on
    listener_socket.host_name = ''
    listener_socket.queue_size = 2
    listener_socket.buffer_size = 4096

    listener_socket.startListening()

    while 1:
        communication_socket = \
            SocketWrapper("<<EOC", listener_socket.awaitConnection())
        thread.start_new_thread(threadHandler, (communication_socket,))
        
    listener_socket.closeConnection()
コード例 #2
0
def main():
    client_socket = SocketWrapper('<<EOC')

    try:
        client_socket.host_name = sys.argv[1]
        client_socket.port_number = int(sys.argv[2])
    except:
        print "Usage: mudclient.py HOSTNAME PORT"
        sys.exit(1)

    client_socket.buffer_size = 4096
    #servers bind clients connect
    client_socket.connectToServer()
    #recieve and print intro message
    print client_socket.recieveData()

    while(1):
        message = raw_input("Enter Command: ")
        message += '<<EOC'
        client_socket.sendMessage(message)
        data = client_socket.recieveData()
        if message.lower() == "quit<<eoc": 
            break
        print data

    client_socket.closeConnection()