import socket
def main():
# 創建一個udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
# 從鍵盤獲取數據
send_data = input("請輸入要發送的數據:")
# 如果輸入的數據是exit,那麼就退出程序
if send_data == "exit":
break
# 可以使用套接字收發數據
# udp_socket.sendto("hahahah", 對方的ip以及port)
# udp_socket.sendto(b"hahahah------1----", ("192.168.33.53", 8080))
udp_socket.sendto(send_data.encode("utf-8"), ("192.168.0.155", 7788))
# 關閉套接字
udp_socket.close()
if __name__ == "__main__":
main()
import socket
def main():
# 1. 創建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2. 綁定一個本地信息
localaddr = ("192.168.0.155", 7788)
udp_socket.bind(localaddr) # 必須綁定自己電腦的ip以及port,其他的不行
# 3. 接收數據
while True:
recv_data = udp_socket.recvfrom(1024)
# recv_data這個變量中存儲的是一個元組(接收到的數據,(發送方的ip, port))
recv_msg = recv_data[0] # 存儲接收的數據
send_addr = recv_data[1] # 存儲發送方的地址信息
# 4. 打印接收到的數據
# print(recv_data)
# print("%s:%s" % (str(send_addr), recv_msg.decode("utf-8")))
print("%s:%s" % (str(send_addr), recv_msg.decode("gbk")))
# 5. 關閉套接字
udp_socket.close()
if __name__ == "__main__":
main()