python内置socket模块完成网络通信服务端代码(附客户端代码)

时间:2021-05-06 15:56:26
#   网络通信服务端
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':        breakscl.close()     #  关闭客户端