zoukankan      html  css  js  c++  java
  • python tcp socket 多线程

    不多说,直接上代码

    client.py

    #!/usr/bin/python
    
    import socket,sys,string
    host="localhost"
    port=8000
    
    def main():
        sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        sock.connect((host,port))
        message = raw_input("please input whath you want to search:")
        sock.send(message.strip())
        print sock.recv(1024)
        sock.close()
    
    if __name__=="__main__":
        while True:
            main()

    server.py

    #coding=utf-8
    import socket
    import threading,sys,string
    
    port=8000
    list=50
    dic={}
    def varDefine():
        print "you can define variable, eg: foo=2014"
        while True:
            str=raw_input()
            result=str.split('=')
            dic[result[0].strip()]=result[1].strip()
    
    
    def handle(client,address):
        try:
            client.settimeout(500)
            buf=client.recv(1024)
            if buf in dic.keys():
                client.send(str(dic[buf]))
            else:
                client.send("%s is not define, please define first " % buf)
        except socket.timeout:
            print 'time out'
        client.close()
    
    
    def main():
    
        thread=threading.Thread(target=varDefine)
        thread.start()
    
        sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        sock.bind(('localhost',port))
        sock.listen(list)
        
        while True:
            client,address = sock.accept()
            handleRequest = threading.Thread(target=handle,args=(client,address))
            handleRequest.start()
    
    
    
    
    
    if __name__=="__main__":
        main()

    en,应该是比较好理解的

  • 相关阅读:
    RMQ
    LCA 笔记
    LUCAS 定理
    topcoder 643 DIV2
    BZOJ 1071组队
    Codeforces Round #283 (Div. 2)
    topcoder 642
    Codeforces Round #278 (Div. 2)
    树链剖分
    Codeforces Round #277 (Div. 2)
  • 原文地址:https://www.cnblogs.com/cdwodm/p/4495868.html
Copyright © 2011-2022 走看看