1.2socket伺服器使用多線程

來源:互聯網
上載者:User

標籤:threading   data   解碼   說明   erp   nbsp   發送資料   服務   imp   

socket伺服器代碼如下
from socket import *import timeimport threading,_thread as threadmyHost = ‘‘                                                                #‘‘說明所有IP都可以串連myPort = 50007                                                             #設定一個連接埠socketobj = socket(AF_INET,SOCK_STREAM)                                    #建立TCP對象socketobj.bind((myHost,myPort))                                            #綁定連接埠socketobj.listen(5)                                                        #允許5個請求串連def now():    return time.ctime(time.time())def handleClient(connection):    #time.sleep(5)    while True:        data = connection.recv(1024)                                       #每次讀取最多1024位元組        if not data: break        reply = ‘Echo=> %s at %s‘ % (data,now())                           #發送資料給用戶端        connection.send(reply.encode())    connection.close()def dispatcher():    while True:        connection,address = socketobj.accept()                             #接受資料並列印        print(‘Server connected by,‘,address,end=‘‘)        print(‘at‘,now())        #thread.start_new_thread(handleClient,(connection,))                #使用多線程        thread = threading.Thread(target=handleClient,args=(connection,))   #使用多線程        thread.start()                                                      #開始線程dispatcher()
socket用戶端代碼如下
from socket import *serverHost = ‘localhost‘serverPort = 50007while True:    messages = [input(‘輸入‘).encode()]             #輸入資訊,並設定編碼, 可設定b‘‘或者str.encode()    socketobj = socket(AF_INET, SOCK_STREAM)        # 建立TCP對象    socketobj.connect((serverHost, serverPort))     # 串連連接埠    for line in messages:        socketobj.send(line)        data = socketobj.recv(1024)                 # 從伺服器接受資訊        print(‘Client received:‘, data.decode())    #列印資訊,解碼列印,str.decode()    socketobj.close()

 

1.2socket伺服器使用多線程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.