本文實(shí)例為大家分享了python實(shí)現(xiàn)局域網(wǎng)內(nèi)聊天功能的具體代碼,供大家參考,具體內(nèi)容如下
功能:
可以向局域網(wǎng)內(nèi)開(kāi)啟接收信息功能的ip進(jìn)行發(fā)送信息,我們可以寫(xiě)兩段端口不同的代碼來(lái)實(shí)現(xiàn)在一臺(tái)電腦上與自己聊天.
關(guān)鍵點(diǎn):
要想實(shí)現(xiàn)此功能必須將程序的端口固定
from socket import *def udp_send(udp_socket): # 發(fā)送消息 接收用戶(hù)輸入內(nèi)容 send_mes = input("請(qǐng)輸入發(fā)送內(nèi)容:") # 接收用戶(hù)輸入ip ip = input("請(qǐng)輸入ip地址:") # 接收用戶(hù)輸入端口號(hào) port = int(input("請(qǐng)輸入端口號(hào)")) # 發(fā)送消息 內(nèi)容進(jìn)行編碼 udp_socket.sendto(send_mes.encode("gbk"), (ip, port))def udp_recvfrom(udp_socket): # 接收消息 最多4096個(gè)字節(jié) get_mes, get_ip = udp_socket.recvfrom(4096) print("收到來(lái)自%s的消息:%s" % (str(get_ip), get_mes.decode("gbk")))def main(): # 創(chuàng)建套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 設(shè)置固定端口 udp_socket.bind(("", 8889)) while True: print("*" * 50) print("----------無(wú)敵聊天器----------") print("1.發(fā)送消息") print("2.接收消息") print("0.退出系統(tǒng)") print("*" * 50) user = input("請(qǐng)輸入要執(zhí)行的操作:") if user == "1": udp_send(udp_socket) elif user == "2": udp_recvfrom(udp_socket) elif user == "0": break else: print("輸入有誤") # 關(guān)閉套接字 udp_socket.close()if __name__ == "__main__": main()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選