esp 8266はtcp serverとして、クライアントが接続してから切断します。このように何回も繰り返します。6回目はもうつながりません。
2012 ワード
void ICACHE_FLASH_ATTR espconn_init(void)
{
if (sys_mbox_new(&EspMbox, ESPCONN_MBOX_SIZE) != ERR_OK) {
LWIP_ASSERT("failed to create espconn_thread mbox", 0);
}
#if ESPCONN_LOCKING
if (sys_mutex_new(&lock_espconn_task) != ERR_OK) {
LWIP_ASSERT("failed to create lock_espconn_task", 0);
}
#endif /* ESPCONN_LOCKING */
sys_mutex_new(&EspMsgMutex);
if (EspMsgMutex == NULL) {
printf("EspMsgMutex create fail
");
} else {
printf("EspMsgMutex created
");
}
sys_thread_new(ESPCONN_THREAD_NAME, espconn_thread, NULL, ESPCONN_THREAD_STACKSIZE, ESPCONN_THREAD_PRIO);
}
#
結論:実はespconnを呼び出しません。initなら、tcp serverも仕事ができます。ポートの傍受やデータの授受ができないというわけではありませんが、clientが何度も接続を切断し続けているだけで上記の問題が発生します。しかし、ネット上の多くの白さんは暇な時に何もしないで、接続を切ってから接続を再開しますか?すべてクライアントの接続は一回で接続できます。後はもう大丈夫です。使えばいいです。もう一回esp 8266を再起動しても大丈夫です。