比如说实现两个手机之间的通信,需要做的几部:

服务端:

1,买手机

2,插卡

3,开机

4,等电话链接

5,基于建立的链接,收发协议

6,挂电话

7,关机

import socket
#买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#插卡
phone.bind(('127.0.0.1',8080))
#开机
phone.listen(5)
#等电话链接
print('server start...')
conn,client_addr=phone.accept() #(tcp链接,client_addr)
print('链接',conn)
print(client_addr)

#基于建立的链接,收发消息
client_data=conn.recv(1024)
print('客户端的消息',client_data)
conn.send(client_data.upper())

#挂电话链接
conn.close()

#关机
phone.close()

客户端:

import socket
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8080))


phone.send('hello'.encode('utf-8'))
server_data=phone.recv(1024)
print('服务端回应的消息',server_data)

phone.close()

 

 

 

加上通信循环与链接循环:

服务端:

 1 import socket
 2 phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 3 phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) #就是它,在bind前加
 4 phone.bind(('127.0.0.1',8080))
 5 phone.listen(5)
 6 print('server start...')
 7 conn,client_addr=phone.accept()
 8 
 9 while True: #通讯循环
10     client_data=conn.recv(1024)
11     # print('has rev')
12     conn.send(client_data.upper())
13 
14 conn.close()
15 
16 phone.close()
View Code

相关文章: