python編寫簡易聊天室實現區域網內聊天
阿新 • • 發佈:2019-01-10
功能:
可以向區域網內開啟接收資訊功能的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()