2016-12-22 9 views
0

Я настроил соединение TCP с использованием LwIP + RTOS в микроконтроллер (сервер), подключенный к (программа-клиент) PCLwIP + RTOS переподключение

conn = netconn_new(NETCONN_TCP); 
netconn_bind(conn, &MyIPAddr, PORT); 

do 
{ 
osDelay(5); 
} 
while((netconn_connect(conn, &DestIPaddr, TCP_PORT)!= ERR_OK) //wait until a PC client will be available 

Если программа TCP клиент уже работает на компьютере, все в порядке , Но если я запускаю ПК-клиент после выполнения функции netconn_connect (..) на микроконтроллере, while() условие никогда не будет ERR_OK. Как мне изменить код для правильного подключения к ПК-клиенту?

ответ

0

Вы используете его неправильно. Если ваше приложение является сервером, то правильное использование выглядит более или менее, как это:

listenNetconn = netconn_new(NETCONN_TCP); 
netconn_bind(listenNetconn, IP_ADDR_ANY, port); 
netconn_listen(listenNetconn); 
netconn_accept(listenNetconn, &clientNetconn); // wait for connection 

Теперь вы должны использовать clientNetconn для приема/передачи данных. listenNetconn используется только для прослушивания новых входящих подключений и не более того.

Вот пример из неофициальной wwiki wiki - http://lwip.wikia.com/wiki/Netconn_Accept

 Смежные вопросы

  • Нет связанных вопросов^_^