lwip + rtos重新连接

时间:2016-12-22 08:57:12

标签: tcp ethernet rtos lwip

我在连接到PC(客户端程序)的微控制器(服务器)中使用LwIP + RTOS配置了TCP连接

SELECT      TOP 1 students.Student_Name, 
            COUNT(marks.Mark_Name) AS TotalOfGradeA
FROM        Student students
INNER JOIN  Student_Marks marks ON students.Marks_ID = marks.Marks_ID
WHERE       marks.Mark_Name = 'A'
GROUP BY    students.Student_Name
ORDER BY    COUNT(marks.Mark_Name) DESC

如果TCP客户端程序已在PC上运行,一切正常。但是如果我在微控制器上执行netconn_connect(..)函数后启动PC客户端,而while()条件永远不会是ERR_OK。 我应该如何修改代码以正确连接到PC客户端?

1 个答案:

答案 0 :(得分: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仅用于侦听新的传入连接,仅此而已。

以下是非官方lwIP维基的示例 - http://lwip.wikia.com/wiki/Netconn_Accept