socket (UDP)簡易聊天(python)
阿新 • • 發佈:2018-12-23
在雙方同時執行,可接收訊息和傳送訊息
(UDP)步驟:
1、建立套接字
2、接收/傳送 資料
3、關閉套接字
import socket
'''UDP 簡易聊天'''
# 傳送
def send_msg(udp_socket):
dest_ip = input("請輸對方的ip:")
dest_port = int(input("請輸入對方的埠號:"))
send_data = input("請輸入要傳送的訊息:")
udp_socket.sendto(send_data.encode("gbk"), (dest_ip, dest_port)) # 以 GBK 編碼,傳送訊息
# 接收
def recv_msg(udp_socket):
recv_data = udp_socket.recvfrom(1024) # 最大接收1024
print("%s : %s" % (str(recv_data[1]), recv_data[0].decode("gbk"))) # 列印接收到的訊息
def main():
# 建立套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 繫結資訊
udp_socket.bind(("", 8848))
# 迴圈處理事情
while True:
print("1、傳送訊息...")
print("2、接收資料...")
print("3、退出...")
cmd = input("請選擇:")
if cmd == "1":
# 傳送
# 獲取要傳送的內容
send_msg(udp_socket)
elif cmd == "2":
# 接收並顯示
recv_msg(udp_socket)
elif cmd == "3":
break
else:
print("輸入有誤...")
# 關閉套接字
udp.close()
if __name__ == '__main__':
main()