# 网络通信服务端
import socket # 1、导入网络通信模块
ip_port = ('0.0.0.0',9898) # 2、制定自身服务器地址和端口
ser = socket.socket() # 3、实例化对象,参数不填默认是ipv4,TCP传输
ser.bind(ip_port) # 4、绑定连接
ser.listen(4) # 5、设置监听,最多允许5个接入
print("开始接入.....")
scl,addr = ser.accept() # 6、开始接受连接,阻塞直到收到客户端连接
scl.sendall("连接成功!".encode('utf-8'))# 7、连接成功反馈给客户端的消息
while True:
msg = scl.recv(1024) # 8、接受客户端消息
print("客户端:",msg.decode('utf-8'))
if msg.decode('utf-8') == 'q':
break
sermsg = input("服务器:")
scl.sendall(sermsg.encode('utf-8')) # 9、向客户端发送字符串消息
if sermsg == 'q':
break
ser.close() # 关闭服务端
# 网络通信客户端
import socket # 1、导入网络通信模块
scl = socket.socket() # 2、创建客户端
ip_port = ('127.0.0.1',9898) # 3、制定服务器端的地址和端口
scl.connect(ip_port) # 4、开始连接服务器
msg = scl.recv(1024) # 5、接收来自服务器的信息
print("客户端:",msg.decode('utf-8'))
while True:
cmsg = input("客户端:")
clmsg = scl.sendall(cmsg.encode('utf-8'))# 客户端发送消息
if cmsg == 'q':
break
climsg = scl.recv(1024)
print("服务器:",climsg.decode('utf-8'))
if climsg == 'q':
break
scl.close() # 关闭客户端