LwIP -netconn API -Отправить TCP-пакет, пока процесс заблокирован?

Я использую FreeRTOS + LwIP для разработки устройства вызова медицинской сестры на базе Ethernet. После прочтения некоторых примеров и документации я хочу использовать LwIP netconn API для отправки и получения данных по TCP, потому что я не знаком с API в стиле BSD, а необработанный API может быть сложным.

Я знаю, что функция netconn_accept()будет блокировать процесс до тех пор, пока не поступит запрос на соединение с удаленного хоста, а функция netconn_recv()также заблокирует процесс в ожидании поступления данных... обе эти функции будут заблокировать процесс, это хорошо для сервера, получающего данные, однако мое устройство также должно действовать как клиент, который должен инициировать «вызов» в медпункт, когда пациент нажимает кнопку. Так как же он может инициировать отправку пакета TCP, одновременно ожидая соединения (, блокирующего процесс )с удаленного хоста?

Мне нужно отправить TCP, потому что я должен использовать SIP (Session Initiation Protocol )для инициации вызова, это должно быть надежно, потому что это медицинское устройство. Большое спасибо


@Kyle Heironimus, @werewindle Я добавляю вас к моему вопросу, потому что я знаю, что у вас есть опыт работы с LwIP, надеюсь, что это не доставит вам неудобств, и надеюсь, что вы можете помочь, спасибо.

7
задан eepty 23 April 2012 в 17:55
поделиться