UDP通訊寫包發包收包

2021-10-12 07:02:06 字數 2518 閱讀 7325

void cmainframe::

senddata

(int cindex,cstring* changeddata)

//點的個數和名字陣列if(

lobyte

(wsadata.wversion)!=1

||hibyte

(wsadata.wversion)!=1

) socket sockclient=

socket

(af_inet,sock_dgram,0)

; sockaddr_in addrsrv;

addrsrv.sin_family = af_inet;

addrsrv.sin_port =

htons

(pdoc-

>stssarport)

; addrsrv.sin_addr.s_addr =

inet_addr

(pdoc-

>oppositeip)

;//對方網絡卡ip

msgrow

("對方網絡卡ip"

+pdoc-

>localip)

;//輸出ip

if(addrsrv.sin_addr.s_un.s_addr==inaddr_none)

//寫報文

int tempindex=0;

//表示點的索引

while(1

)}*(

(int*)

(pnumbercurser)

)= temppointnum;*(

(unsigned

short

*)pcurser)

=crc_check((

unsigned

char

*)sendchar,temppointnum*

(max_stringlength+

sizeof

(float))

+sizeof

(int)+

1); pcurser+

=sizeof

(unsigned

short);

msgrow

("打包完成,開始傳送資料");

sendto

(sockclient,sendchar,

500,0,

(sockaddr*

)&addrsrv,

sizeof

(sockaddr));

//傳送報文

if(tempindex>=cindex)

}closesocket

(sockclient)

;wsacleanup()

;}

uint receiveanddecodepackage

(lpvoid pparam)

//接受資料if(

lobyte

(wsadata.wversion)!=1

||hibyte

(wsadata.wversion)!=1

) socket socksrv=

socket

(af_inet,sock_dgram,0)

; sockaddr_in addrsrv;

addrsrv.sin_family = af_inet;

addrsrv.sin_port =

htons

(pdoc-

>stssarport)

; addrsrv.sin_addr.s_un.s_addr =

inet_addr

(pdoc-

>localip)

;//本機網絡卡ip

msgrow

("本側網絡卡ip"

+pdoc-

>localip)

;//輸出ip

if(addrsrv.sin_addr.s_un.s_addr==inaddr_none)

//繫結套接字

bind

(socksrv,

(sockaddr*

)&addrsrv,

sizeof

(sockaddr));

while(1

)closesocket

(socksrv)

;wsacleanup()

;return0;

}void cmainframe::

readreceivedata

(int length,

char

* changeddata)

char temppointname[max_stringlength]

;//要不要在這裡加程序鎖

for(

int i=

0;i)//新增重新整理列表**

plistview-

>

insertmaptolist

(pdoc-

>relationmap,"")

;}else

}

記錄乙個UDP收包丟包的問題

這幾天寫gb28181平台接入層 對收到的ps包進行解包時,總是出現誤碼,最終導致rtsp點播服務中畫面花屏。分析了碼流抓包資料之後,發現網路上沒有丟包,遂認為ps流解包 有bug,於是埋頭分析了2個小時的解包函式後,沒有發現問題。將抓包rtp負載中的ps包資料匯出之後,專門利用ps解包 寫了乙個小...

npm 發包 刪包

npm發包 刪包 第一步 註冊乙個npm賬號,第二步 新建乙個資料夾,內容為空,第三部 npm init y 一鍵生成乙個package.json檔案,第四步 新建乙個js檔案,moudle.exports丟擲乙個物件或者函式,裡邊寫上你的邏輯,第五步 開啟cmder,npm login登入賬號密碼...

構造ARP包發包

arp分為請求包以及響應包 opcode中的 表示請求以及響應 使用wireshark抓包可見,opcode為1可知這是乙個請求包 再來看看響應包,它的opcode為2 在使用scapy模組構造,arp應答包時,我們採用的是第二層發包 就是根據我們第二層中的封裝的幀頭來發包 ptk2 ether a...