python tcp socket 多線程

來源:互聯網
上載者:User

標籤:

不多說,直接上代碼

client.py

#!/usr/bin/pythonimport socket,sys,stringhost="localhost"port=8000def 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-8import socketimport threading,sys,stringport=8000list=50dic={}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,應該是比較好理解的

python tcp socket 多線程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.