void T_LwIP_TCP(void * pvArg)<br />{<br /> struct netconn *__pstNew_TCPConn, *__pstTCPConn;<br /> struct netbuf *__pstTCPbuf;<br /> char *data;<br /> struct ip_addr addr;<br /> char *__pbData;<br /> LONG __lLen;<br /> BYTE i = 0, __bIsAdd = TRUE;<br /><br /> <br /> __pstTCPConn = netconn_new(NETCONN_TCP);<br /> netconn_bind(__pstTCPConn, NULL, 1001);<br /> netconn_listen(__pstTCPConn);<br /> <br /><br /> <br /> while(TRUE)<br /> {<br /> __pstNew_TCPConn = netconn_accept(__pstTCPConn);<br /> *AT91C_PIOA_SODR = 1; <br /> while ((__pstTCPbuf = netconn_recv(__pstNew_TCPConn)) != NULL)<br /> {<br /> *AT91C_PIOA_CODR = 1;<br /> netbuf_data(__pstTCPbuf,&__pbData,&__lLen);<br /><br /> netconn_write(__pstNew_TCPConn, __pbData, __lLen, NETCONN_NOCOPY);<br /> <br /> OSTimeDlyHMSM(0, 0, 1, 0);<br /> *AT91C_PIOA_SODR = 1;<br /> OSTimeDlyHMSM(0, 0, 1, 0);<br /> }<br /> *AT91C_PIOA_CODR = 1;<br /> //netbuf_delete(__pstTCPbuf); <br /> netconn_close(__pstNew_TCPConn);<br /> //while(netconn_delete(__pstNew_TCPConn) != ERR_OK)<br /> //OSTimeDlyHMSM(0, 0, 1, 0);<br /> <br /> <br /> }<br />}<br /><br />这程序是 建立一个TCP 连接,,现在出现了一个问题,就是连接建立后,收到两个包的数据后就掉去出了连接,再也连接不上了,到底问题出在那里呢???是不是我的编程有错??( 我接收到的数据包再发回PC,在PC 里显示,收到两个包之后就失去连接了,从新连接也接不起) |
|