socket的简单例子
最近刚刚开始学了socket的模块,就写了一个服务器与客户端交互的程序
有两种模式:
1.就是先电脑自动回复
2.就是人工服务
接下来就是代码了
服务器端的代码:
1 #Author:陈浩彬 2 import socket 3 server=socket.socket() 4 server.bind(('localhost',9999)) 5 print('--------服务器已启动--------') 6 server.listen() 7 duihua={'你好':'你也好','你是谁':'我是 Arthur,我哥叫浩南哥','谁最帅':'当然是我浩南哥'}#可以在这里写一些常用回答 8 while True: 9 print('-----------正在连接用户-----------') 10 conn,addr=server.accept() 11 print('--------------已连接用户-------------') 12 print('new conn',addr) 13 while True: 14 date=conn.recv(1024).decode() 15 if not date: 16 print('用户已断开') 17 break 18 elif date in duihua:#自动回答用户问题 19 conn.send(duihua[date].encode('utf-8')) 20 if date=='人工服务':#自己亲自回答用户问题 21 print('---进入人工服务---') 22 conn.send('现在已为你连接人工服务'.encode('utf-8')) 23 while True: 24 date1=conn.recv(1024).decode() 25 if date1=='退出': 26 conn.send('已断开人工服务'.encode('utf-8')) 27 print('---已断开人工服务---') 28 break 29 print('用户问题:',date1) 30 date2=input('回复:') 31 conn.send(date2.encode('utf-8')) 32 else: 33 conn.send('我不知道你在说什么,你可用人工服务来解决的需要'.encode('utf-8')) 34 server.close()
View Code
客户端的代码:
1 #Author:陈浩彬 2 import socket 3 client=socket.socket() 4 client.connect(('localhost',9999)) 5 while True: 6 say=input('你:').strip() 7 if len(say)==0:continue 8 elif say=='F': 9 client.close() 10 break 11 else: 12 client.send(say.encode('utf-8')) 13 date=client.recv(1024) 14 print('Arthur:',date.decode())
View Code
随意批评,我就是个小白- –