socket.socket() 可以創建一個套接字: 簡單的發送和接收信息的socket程式. 另: 用 struct.pack() 打包 ,用 unpack() 解包. 還可以直接廣播: ...
socket.socket() 可以創建一個套接字:
from socket import * from threading import Thread udp_socket = None dest_ip = '' dest_port = 0 def recvData(): while True: recv_info = udp_socket.recvfrom(1024) #接收包最大位元組1024 print('\r>> %s : %s' %(str(recv_info[1]), recv_info[0].decode('GBK')) ) print('<< ') def sendData(): while True: send_info = input('<< ') udp_socket.sendto(send_info.encode('GBK'), (dest_ip, dest_port)) #發送包 python3 只能發送位元組類型 2.x 可以發送字元串 def main(): global udp_socket global dest_ip global dest_port dest_ip = input('對方的ip: ') dest_port = int(input('對方的埠: ')) udp_socket = socket(AF_INET, SOCK_DGRAM) #創建socket對象 udp_socket.bind(('', 9876)) #埠綁定 tr = Thread(target=recvData) ts = Thread(target=sendData) tr.start() ts.start() tr.join() ts.join() if __name__ == '__main__': main()
簡單的發送和接收信息的socket程式.
另: 用 struct.pack() 打包 ,用 unpack() 解包.
還可以直接廣播: