CH579 UDP包源端口變成4096,麻煩幫忙看看
熱門(mén)產(chǎn)品 :
CH390:以太網(wǎng)控制器芯片
CH579 UDP包源端口變成4096,麻煩幫忙看看
您好,請(qǐng)您確認(rèn)一下這個(gè)數(shù)據(jù)包確定是您這個(gè)Socket,看您的Socket創(chuàng)建的函數(shù),目的IP為4個(gè)255,廣播模式,但是您抓的包是UDP單播。
您好:
我設(shè)置4個(gè)255的目的,是為了接收我運(yùn)行過(guò)程中加入多個(gè)不同組(編碼過(guò)程中不確定,配置的組IP),接收這些組的數(shù)據(jù);
這個(gè)UDP包是向組239.255.0.50發(fā)送數(shù)據(jù);
這個(gè)包是我發(fā)送的。這個(gè)包我是UDP,用sendto函數(shù)發(fā)送的,sendto函數(shù)是可以填目標(biāo)地址的;
bool?CH57xNET_CreatUdpSocket(void) { ????UINT8?DESIP[4]???=?{255,255,255,255};????????????????????????????????????????/*?接收廣播包,此地址不應(yīng)更變?*/ ????SOCK_INF?TmpSocketInf;???????????????????????????????????????????????????????/*?創(chuàng)建臨時(shí)socket變量?*/ ????memset((void?*)&TmpSocketInf,0,sizeof(SOCK_INF));????????????????????????????/*?庫(kù)內(nèi)部會(huì)將此變量復(fù)制,所以最好將臨時(shí)變量先全部清零?*/ ????memcpy((void?*)TmpSocketInf.IPAddr,DESIP,4);?????????????????????????????????/*?設(shè)置目的IP地址?*/ ????TmpSocketInf.DesPort?=?6666;?????????????????????????????????????????????????/*?設(shè)置目的端口?*/ ????TmpSocketInf.SourPort?=?6666;????????????????????????????????????????????????/*?設(shè)置源端口?*/ ????TmpSocketInf.ProtoType?=?PROTO_TYPE_UDP;?????????????????????????????????????/*?設(shè)置socekt類(lèi)型?*/ ????TmpSocketInf.AppCallBack?=?CH57xNET_UdpServerRecv;???????????????????????????/*?接收回調(diào)函數(shù)?*/ ????TmpSocketInf.RecvStartPoint?=?(UINT32)SocketRecvBuf;?????????????????????????/*?設(shè)置接收緩沖區(qū)的接收緩沖區(qū)?*/ ????TmpSocketInf.RecvBufLen?=?RECE_BUF_LEN?;?????????????????????????????????????/*?設(shè)置接收緩沖區(qū)的接收長(zhǎng)度?*/ //????i?=?CH57xNET_SocketCreat(&SocketId,&TmpSocketInf);???????????????????????????/*?創(chuàng)建socket,將返回的socket索引保存在SocketId中?*/ //????mStopIfError(i);?????????????????????????????????????????????????????????????/*?檢查錯(cuò)誤?*/ ????if(CH57xNET_SocketCreat(&SocketId,&TmpSocketInf)?==?CH57xNET_ERR_SUCCESS) ????{ ????????return?true; ????} ????else ????{ ????????return?false; ????} }
void?net_send(UINT8?*buf,?UINT32?*slen,?UINT8?*sip,?UINT16?port) { ????CH57xNET_SocketUdpSendTo(SocketId,?buf,?slen,?sip,?port); }
uint8_t?group_ip[4]?=?{239,?255,?0,?50}; net_send(send_buf,?&send_len,?group_ip,?6666);
這是實(shí)現(xiàn)的代碼,麻煩幫忙測(cè)試一下,謝謝了。