Thread 中讨论的其他器件:SYSBIOS
我已经使用 TI http 服务器实现了一个应用。 我使用夹头函数返回 http 响应中的大量数据。
因此、实际上我要调用
https://sendResponseChunked (...)
然后在 while 环路中
httpserver_sendChunk (..)
这对于前几个 KB 来说可以正常工作、但服务器线程将退出。 我已将其向下跟踪到套接字发送函数 SlNetSock_send (在 HTTPServer_sendChunk 中调用)返回-1。 我假设堆栈内的某个位置正在内存不足。 尽管堆没有用尽、但当我查看 ROV 中的堆时、我可以看到仍然有几 KB 可用。
在文档中 SlNetSock_send 函数的阴离子(https://software-dl.ti.com/simplelink/esd/simplelink_msp432e4_sdk/1.55.00.21/docs/ns/html/group__SlNetSock.html#ga46bc70ae63ecd3fc15bfb2c99dda85db)
"SlNetSock_send 函数用于将消息发送到另一个套接字。 在向器件发送数据后立即返回。"
这意味着它在发送数据后返回、因此我们不应排队等待内存、它是否会耗尽器件中的内存?
是否有办法阻止所有数据实际发送出去?
为了进行调试,我在每次调用 SlNetSock_send ()后都添加了一个短延迟,这也解决了问题,但这显然是一个黑客攻击。
感谢你的帮助
重做