ucos+lwip环境中TCP_echo_server出问题!
[复制链接]
我在ucos+lwip+lm3s8962环境中建立了一个TCP_echo_server 任务,其功能是 回送接收到的数据(将从TCP端口接收到的数据发送回去)
但是我的程序只能工作一次 -------------就是建立连接后,发送第一次的时候,可以接收到回发的数据,以后就不行了!源代码如下:
static void EchoRequest( struct netconn *pxNetCon ) { struct netbuf *pxRxBuffer; char *pcRxString; unsigned short usLength; pxRxBuffer = netconn_recv( pxNetCon );< /FONT > if ( pxRxBuffer != NULL ){ netbuf_data( pxRxBuffer, ( void * ) &pcRxString, &usLength ); if ( pcRxString != NULL){ netconn_write( pxNetCon, pcRxString, (u16_t) usLength, NETCONN_COPY ); } netbuf_delete( pxRxBuffer ); } }
portTASK_FUNCTION( ){ struct netconn *pxTCPListener, *pxNewConnection; pxTCPListener = netconn_new( NETCONN_TCP ); netconn_bind(pxTCPListener, NULL, 23 ); netconn_listen( pxTCPListener );
for( ;; ){ pxNewConnection = netconn_accept(pxTCPListener); if(pxNewConnection != NULL){ EchoRequest(pxNewConnection); } } }
[ 本帖最后由 历史的天空 于 2011-3-16 22:34 编辑 ]
|