Python TCP Server And Client
阿新 • • 發佈:2019-01-07
''' Python socket TCP多執行緒伺服器 by 鄭瑞國 1、建立網路套接字s 2、繫結地址 3、監聽 4、接受客戶端連線 5、多執行緒處理客戶端訊息 ''' import socket import threading def server_handle(client,addr): '''處理客戶端訊息''' while True: try: text = client.recv(1024) if not text: client.close() client.send(text) print(addr[0],addr[1],'>>',text.decode()) except: print(addr[0],addr[1],'>>say goodby') break def tcp_server(): '''TCP多執行緒伺服器''' s = socket.socket() #1、建立網路套接字s s.bind(('0.0.0.0',9999)) #2、繫結地址 s.listen(5) #3、監聽 print("TCP server starting on " +socket.gethostbyname(socket.gethostname())+":9999......") while True: client,addr=s.accept() #4、接受客戶端連線 threading._start_new_thread(server_handle,(client,addr)) #5、多執行緒處理客戶端訊息 ''' Python TCP 客戶端(配合socket多執行緒伺服器) by 鄭瑞國 1、建立網路套接字c 2、建立網路連線 3、收發資訊 ''' def tcp_client(ip): '''TCP 客戶端''' c = socket.socket() #1、建立網路套接字c c.connect((ip,9999)) #2、建立網路連線 while True: #3、收發資訊 text = input('send:') if not text: continue c.send(text.encode()) re = c.recv(1024).decode() print(re) if __name__ == '__main__': tcp_server() #ip = input('input server ip:') #tcp_client(ip)