1. 程式人生 > >socket的簡單例子

socket的簡單例子

import 退出 交互 也好 lose ddr conn utf-8 需要

最近剛剛開始學了socket的模塊,就寫了一個服務器與客戶端交互的程序

有兩種模式:

1.就是先電腦自動回復

2.就是人工服務

接下來就是代碼了

服務器端的代碼:

技術分享圖片
 1 import socket
 2 server=socket.socket()
 3 server.bind((localhost,9999))
 4 print(--------服務器已啟動--------)
 5 server.listen()
 6 duihua={你好:你也好,你是誰:我是 Arthur,我哥叫浩南哥,誰最帥:當然是我浩南哥}#可以在這裏寫一些常用回答
 7 while
True: 8 print(-----------正在連接用戶-----------) 9 conn,addr=server.accept() 10 print(--------------已連接用戶-------------) 11 print(new conn,addr) 12 while True: 13 date=conn.recv(1024).decode() 14 if not date: 15 print(用戶已斷開) 16 break 17 elif
date in duihua:#自動回答用戶問題 18 conn.send(duihua[date].encode(utf-8)) 19 if date==人工服務:#自己親自回答用戶問題 20 print(---進入人工服務---) 21 conn.send(現在已為你連接人工服務.encode(utf-8)) 22 while True: 23 date1=conn.recv(1024).decode() 24 if
date1==退出: 25 conn.send(已斷開人工服務.encode(utf-8)) 26 print(---已斷開人工服務---) 27 break 28 print(用戶問題:,date1) 29 date2=input(回復:) 30 conn.send(date2.encode(utf-8)) 31 else: 32 conn.send(我不知道你在說什麽,你可用人工服務來解決的需要.encode(utf-8)) 33 server.close()
View Code

客戶端的代碼:

技術分享圖片
 1 import socket
 2 client=socket.socket()
 3 client.connect((localhost,9999))
 4 while True:
 5     say=input(你:).strip()
 6     if len(say)==0:continue
 7     elif say==F:
 8         client.close()
 9         break
10     else:
11         client.send(say.encode(utf-8))
12         date=client.recv(1024)
13         print(Arthur:,date.decode())
View Code

隨意批評指點

socket的簡單例子