#单次消息多次收发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()
客户端
12-28 06:57