CH32V307 使用你們自研協(xié)議棧,用作TCP client可以,用作tcp server,可以連接成功,但是接收不到數(shù)據(jù)?
void WCHNET_CreatTcpSocket(void)
{
? ?u8 i;
? ?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? = 8888;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 設(shè)置目的端口 */
? ?TmpSocketInf.SourPort = 8800;//srcport++;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 設(shè)置源端口 */
? ?TmpSocketInf.ProtoType = PROTO_TYPE_TCP;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 設(shè)置socekt類型 */
? ?TmpSocketInf.RecvStartPoint = (u32)SocketRecvBuf;? ? ? ? ? ? ? ? ? ? ? ? ?/* 設(shè)置接收緩沖區(qū)的接收緩沖區(qū) */
? ?TmpSocketInf.RecvBufLen = RECE_BUF_LEN ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 設(shè)置接收緩沖區(qū)的接收長(zhǎng)度 */
? ?i = WCHNET_SocketCreat(&SocketId,&TmpSocketInf);? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 創(chuàng)建socket,將返回的socket索引保存在SocketId中 */
? printf("WCHNET_CreatTcpSocket? %x\r\n",SocketId) ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 檢查錯(cuò)誤 */
? // i = WCHNET_SocketConnect(SocketId);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* TCP連接 */
? i = WCHNET_SocketListen(SocketId);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 檢查錯(cuò)誤 */
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 檢查錯(cuò)誤 */
}