chargen例程里的代码:
我开了两个TCP线程,并且都用了上面的代码,实际运行时只有一个TCP线程是可以工作的,当另一个TCP线程接受客户机连接后,前一个TCP线程就无法正常收发数据了。
我的理解:LWIP维护sockets[],当第一个TCP线程在lwip_socket()后返回一个socket,返回为0,第二个线程在lwip_socket()后返回一个socket,返回为1,如果第一个TCP线程接受3个客户机连接后,那么charcb_list中有socket:2,3,4,maxfdp1=5,对lwip_select(5…)判断时他会检查等于1的socket。第二个TCP线程在接受1个客户机后,第二个TCP线程的charcb_list中有socket=5,然后他会检查6个socket,这好像不对。
这样做是不是有问题,应该如何做,谢谢!