udp 是个十分好用的,数据传输控制协议,聊天模拟器的创作,仅仅是展现它传输字符的良好体现,运行之前须去官网下载udp传输协议工具,名为SocketText,下载地址:
http://www.zlmcu.com/download/SocketTest.zip
长这样~~
另外,附上pycharm上机代码
"""一,功能
1, 发送信息
2,接受信息
3,退出系统二,框架的设计
1,发出信息 send_msg()
2,接受信息 recv_msg()
3,程序的主入口 main()
4,当程序独立运行的时候,才启动聊天器三,实现步骤
1,发送信息 send_msg()
1),定义变量接收用户与输入的接收方的IP地址
2),定义变量接收用户与输入的接收方的端口号
3),定义变量接收用户与输入的接收方的内容
4),使用socket的sendto() 发送信息2.接收信息 recv_msg()
1),使用socket 接收信息
2),解码数据
3),输出显示3.主入口 main()
1),创建套接字
2),绑定端口
3),打印菜单(循环)
4),接收用户输入的选项
5),判断用户的选项,并且调用对应的函数
6),关闭套接字"""import socketdef send_msg(udp_socket):""" 发送信息的函数"""# 调用发送信息的函数# send_msg()# 1), 定义变量接收用户与输入的接收方的IP地址ipaddr=input("请输入接收方的IP地址: \n")if len(ipaddr)==0:ipaddr="192.168.242.132"print("*****您输入的空值,默认的IP地址为本机!*****\n")# 2), 定义变量接收用户与输入的接收方的端口号port=input("请输入接收方的端口号: \n")if len(port)==0:port="1024"print("*****您输入的空值,默认的端口号为本机!*****\n")# 3), 定义变量接收用户与输入的接收方的内容content=input("请输入要发送的内容: \n")# 4), 使用socket的sendto() 发送信息udp_socket.sendto(content.encode("gbk"),(ipaddr,int(port)))def recv_msg(udp_socket):""" 接收的信息 """# 1), 使用socket接收信息recv_data,ip_port=udp_socket.recvfrom(1024)# 2),解码数据recv_text=recv_data.decode("gbk")# 3),输出显示print("接收到【%s】的消息:%s" %(str(ip_port),recv_text))def main():# 1),创建套接字udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)# 2),绑定端口udp_socket.bind(("",1024))while True:# 3),打印菜单(循环)print("***********************")print("*******1. 发送信息*******")print("*******2. 接收信息*******")print("*******3. 退出信息*******")print("***********************")# 4),接收用户输入的选项sel_num=int(input("请输入选项:\n"))# 5),判断用户的选项,并且调用对应的函数if sel_num==1:print("您选择的是 发送信息")# 调用发送函数send_msg(udp_socket)elif sel_num==2:print("您选择的是 接受信息")print("正在等待接收...")recv_msg(udp_socket)elif sel_num==3:print("系统正在退出...")print("系统退出完成!")udp_socket.close()break# 6),关闭套接字udp_socket.close()if __name__=='__main__':""" 程序独立运行时,才去启动聊天器"""main()