udp简单聊天室程序
import socket
def menu():
"""这是聊天器菜单"""
print("简易版udp聊天器")
print("=" * 30)
print("1. 发送聊天信息")
print("2. 接收聊天信息")
print("3. 退出聊天")
print("=" * 30)
def sent_msg(udp_socket):
"""这是发送聊天信息函数"""
dest_address = input("请输入你要发送信息的ip地址:")
dest_port = int(input("请输入你要发送信息的端口号:"))
content = input("请输入你要发送的内容:")
udp_socket.sendto(content.encode("utf-8"), (dest_address, dest_port))
def recv_msg(udp_socket):
"""这是接收聊天信息函数"""
recv_data = udp_socket.recvfrom(1024)
recv_info = str(recv_data[0].decode("gbk"))
recv_addr = recv_data[1]
print("接收到的信息是:%s,内容来自:%s" % (recv_info, recv_addr))
def main():
# 创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口
local_address = ("", 8888)
udp_socket.bind(local_address)
while True:
# 菜单显示提醒
menu()
# 获取用户输入操作
option = input("请输入您的操作:")
# 发送聊天信息
if option == "1":
sent_msg(udp_socket)
# 接收聊天信息
elif option == "2":
recv_msg(udp_socket)
# 退出聊天
elif option == "3":
break
else:
print("输入错误,请重新输入!")
udp_socket.close()
if __name__ == '__main__':
main()