python编写简易聊天室实现局域网内聊天

功能:
可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现在一台电脑上与自己聊天.

关键点:
要想实现此功能必须将程序的端口固定

from socket import *


def udp_send(udp_socket):
    # 发送消息 接收用户输入内容
    send_mes = input("请输入发送内容:")
    # 接收用户输入ip
    ip = input("请输入ip地址:")
    # 接收用户输入端口号
    port = int(input("请输入端口号"))
    # 发送消息 内容进行编码
    udp_socket.sendto(send_mes.encode("gbk"), (ip, port))


def udp_recvfrom(udp_socket):
    # 接收消息 最多4096个字节 
    get_mes, get_ip = udp_socket.recvfrom(4096)
    print("收到来自%s的消息:%s" % (str(get_ip), get_mes.decode("gbk")))


def main():
    # 创建套接字
    udp_socket = socket(AF_INET, SOCK_DGRAM)
    # 设置固定端口
    udp_socket.bind(("", 8889))

    while True:
        print("*" * 50)
        print("----------无敌聊天器----------")
        print("1.发送消息")
        print("2.接收消息")
        print("0.退出系统")
        print("*" * 50)

        user = input("请输入要执行的操作:")

        if user == "1":

            udp_send(udp_socket)

        elif user == "2":

            udp_recvfrom(udp_socket)

        elif user == "0":
            break

        else:

            print("输入有误")
    # 关闭套接字
    udp_socket.close()


if __name__ == "__main__":
    main()
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值