赞
踩
1.服务端的程序准备
# TCP 客户端程序 client.pyfrom from socket import * IP = '127.0.0.1' PORT = 30000 BUFLEN = 512 #实例化一个socket对象 #参数AF INET表示该socket网络层使用IP协议 #参数SOCK STREAM表示该socket传输层使用tCp协议 listenSocket=socket(AF_INET,SOCK_STREAM) #socket绑定地址和端口 listenSocket.bind((IP,PORT)) #使socket处于监听状态,等待客户端的连接请求 #参数5表示最多接受多少个等待连接的客户端 listenSocket.listen(5) print(f'服务端启动成功,在(PORT)端口等待客户端连接,,') dataSocket,addr= listenSocket.accept() print('接受一个客户端连接:',addr) while True: #尝试读取对方发送的消息 #BUFLEN指定从接收缓冲里最多读取多少字节 recved=dataSocket.recv(BUFLEN) #如果返回空bytes,表示对方关闭了连接 #退出循环,结束消息收发 if not recved: break #读取的字节数据是bytes类型,需要解码为字行串 info=recved.decode() print(f'收到对方信息:{info})') #发送的数据类型必须是bytes,所以要编码 dataSocket.send(f'服务端接收到了信息{info}'.encode()) #服务端也调用close()关闭socket dataSocket.close() listenSocket.close()
# === TCP 客户端程序 client.pyfrom=== from socket import * IP = '127.0.0.1' SERVER_PORT = 30000 BUFLEN = 512 #实例化一个socket对象,指明协议 dataSocket = socket(AF_INET,SOCK_STREAM) #连接服务端socket dataSocket.connect((IP,SERVER_PORT)) while True: # 从终端读入用户输入的字符串 toSend = input("请输入发送内容:") if toSend =='exit': break # 发送消息,也要编码为 bytes dataSocket.send(toSend.encode()) # 等待接收服务段的消息 recved = dataSocket.recv(BUFLEN) # 如果返回空bytes,表示对方关闭了连接 if not recved: break #打印读取的信息 print(recved.decode()) dataSocket.close()
1.先运行服务的程序 2.运行程序之前先检查是否存在30000的端口,在cmd下运行
netstat -an|find /i "30000"
表示30000端口等待连接
3-运行客户端程序
4-检查是否连接成功,再次输入
netstat -an|find /i "30000"
第一个表示:服务的监听状态
第二个表示:服务的收发数据状态,后面端口号:49978 -- 表示连接客户端的端口号
第三个表示:客户端收发数据状态,后面端口号:3000 -- 表示连接服务器的端口号
(两两相互对应)
5-在客户端发送信息
6-在服务的查看
恭喜你,已经成建立了一个收发系统,赶紧来试试把
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。