Code: Select all
void linker_svr_handle(chanend tcp_svr,xtcp_connection_t *conn)
{
unsigned char data[UDP_MAX_BUF];
switch (conn->event){
case XTCP_IFUP :
case XTCP_IFDOWN :
case XTCP_ALREADY_HANDLED: return;
default : break;
}
if (conn->local_port == 6002){
switch (conn->event){
case XTCP_NEW_CONNECTION:
case XTCP_POLL : break;
case XTCP_RECV_DATA :
{
xtcp_ipaddr_t remote_addr = {conn->remote_addr[0],conn->remote_addr[1],conn->remote_addr[2],conn->remote_addr[3]};
xtcp_recv(tcp_svr, (char *) data);
xtcp_bind_remote(tcp_svr, conn, remote_addr, 6003);
xtcp_init_send(tcp_svr, conn);
printstrln("receive linker control frame");
}
break;
case XTCP_REQUEST_DATA :
case XTCP_SENT_DATA :
case XTCP_RESEND_DATA :
{
xtcp_send(tcp_svr,ctrl_tx_buf.buf,ctrl_tx_buf.len);
printstrln("send control frame ack");
}
break;
case XTCP_CLOSED :
xtcp_listen(tcp_svr, 6002, XTCP_PROTOCOL_UDP);
break;
default : break;
}
conn->event = XTCP_ALREADY_HANDLED;
}
return;
}
when i run the software and avb demo, it can only receive 7 times,after avb demo has received 7 times,nothing received anywhere,the log as bellow:
what's wrong?and how to debug?3ksINFO: AVB1722_EthernetRx : Started..
Using dynamic ip
dhcp: 192.168.1.102
Stream #0 ready
receive linker control frame
send control frame ack
receive linker control frame
send control frame ack
receive linker control frame
send control frame ack
receive linker control frame
send control frame ack
receive linker control frame
send control frame ack
receive linker control frame
send control frame ack
receive linker control frame
send control frame ack