ucos+lwip环境中TCP_echo_server出问题!

2019-03-24 16:20发布

我在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 编辑 ] 此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章