LWIP RTOS重新连接



我使用LWIP rtoS配置了MicroController(Server)中的TCP连接,已连接到PC(客户端程序)

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客户端程序已经在PC上运行,则一切都可以。但是,如果我在MicroController上执行NetConn_Connect(..)函数后启动PC客户端,则()条件永远不会是ERR_OK。我应该如何修改代码以正确连接到PC客户端?

您正在使用它错误。如果您的应用程序是服务器,则正确的用法看起来或不再像这样:

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

现在,您应该使用clientNetconn接收/发送数据。listenNetconn仅用于收听新的传入连接,仅此而已。

这是非官方LWIP Wiki的一个示例-http://lwip.wikia.com/wiki/wiki/netconn_accept

相关内容

  • 没有找到相关文章

最新更新