linux udp 指定本機傳送源埠以及目標埠

2021-10-10 03:39:18 字數 761 閱讀 9426

通過bind繫結本機位址(local addr)以及埠(local port), 實現從本機埠(local port)傳送以及監聽;

通過connect指定目的位址(dst addr)以及目的埠(dst port), 實現目標位址的繫結;

dst_addr.sin_family = af_inet;

dst_addr.sin_addr.s_addr = inet_addr(dstip);

dst_addr.sin_port = htons(dstport);

local_addr.sin_family = af_inet;

local_addr.sin_addr.s_addr = inet_addr(localip);

local_addr.sin_port = htons(localport);

if(bind(m_socket, (struct sockaddr *) &local_addr, sizeof(local_addr)) < 0) 

if(connect(m_socket, (struct sockaddr*)&dst_addr,sizeof(dst_addr)) < 0)

實現效果

localaddr(192.168.0.1) local port (8888)

dstaddr(192.168.0.2) local port(9999)

192.168.0.1:8888 -> 192.168.0.2:9999 傳送訊息

maven指定本地jar包

來自 一 怎麼新增jar到本地倉庫呢?步驟 1.cmd命令進入該jar包所在路徑 2.執行命令 mvn install install file dfile lucene queryparser 4.6.1.jar dgroupid org.apache.lucene dartifactid luc...

linux UDP伺服器主動傳送資料

tcp udp的連線 客戶端自己的埠號和ip位址與伺服器是不一樣的 比如使用udp 埠號是一樣的,客戶端以伺服器為準 客戶端是192.168.1.22,電腦虛擬機器是192.168.1.29 客戶端 powerpc 設定為1.29 埠號 埠號可以寫成不一樣 mac位址可以亂寫,但不能不寫 unsig...

指定網絡卡,socket傳送

我們在可程式設計路由器上的openwrt 基於linux 做資料 路由器有兩個資料出口,做冗餘傳送。可以該命令檢視本地路由器表 route n多層結構,即資料出口外還有路由器裝置提供上層的資料出口,資料目的位址不是當前網段 因此,需要將socket與網絡卡進行繫結傳送資料 使用libpcap的 pc...