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()
發佈了36 篇原創文章 · 獲贊 31 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章