Python——网络编程(二)socket进阶

孤街醉人 提交于 2019-12-05 17:41:41

#单次消息多次收发C/S 小程序(含退出指令)

 1 from socket import *
 2 
 3 ip_port = ('222.195.137.208', 8000)
 4 back_log = 5
 5 buffer_size = 1024
 6 
 7 service = socket(AF_INET, SOCK_STREAM)
 8 service.bind(ip_port)
 9 service.listen(back_log)
10 print('客户端连接中...')
11 conn, addr = service.accept()
12 print('连接成功!')
13 while True:
14     msg = conn.recv(buffer_size)
15     recv_msg = msg.decode('utf8')
16 
17     print('客户端发来的信息:\n%s' %recv_msg)
18     if recv_msg == 'exit':
19         print('断开连接')
20         break
21     msg1 = input('>>')
22     if msg1 == 'exit':
23         print('断开连接')
24         conn.send('exit'.encode('utf8'))
25         break
26 
27     send_msg = msg1.encode('utf8')
28     conn.send(send_msg)
29 
30 conn.close()
31 service.close()
服务端
 1 from socket import *
 2 
 3 ip_port = ('222.195.137.208', 8000)
 4 buffer_size = 1024
 5 
 6 client = socket(AF_INET, SOCK_STREAM)
 7 print('连接中...')
 8 client.connect(ip_port)
 9 print('连接成功!')
10 
11 while True:
12     send_msg = input('请输入要发送内容:\n>>')
13     client.send(send_msg.encode('utf8'))
14 
15     msg = client.recv(buffer_size)
16     recv_msg = msg.decode('utf8')
17     if recv_msg == 'exit' or send_msg == 'exit':
18         print('断开连接')
19         break
20     print('收到消息:\n%s' %recv_msg)
21 
22 client.close()
客户端

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!