我有一个我正在玩的嵌入式设备;从PC发送一些数据。对于嵌入式设备,我不是在谈论WindowsCE / Linux,而是一个具有蹩脚TCP-IP堆栈和几KB内存的微控制器。
当我尝试发送多个数据包并最终泛洪设备驱动程序时,会出现问题。
有什么问题?
在PC上的BeginSend和EndSend都可以正常工作,并且在BeginSend中推送的数据总长度与返回的EndSend长度相同。但是检查Wireshark发送的数据[字节数?]表明没有应该有的数据包,这个差异是几KB。因此,BeginSend和EndSend的工作方式就好像已经完成但实际上并没有完成。
我试过切换Socket.NoDelay但似乎它不起作用。即使我设置Socket.NoDelay = true,也会发送更大的数据包,所以它看起来好像没有效果。
我当然正在使用TCP套接字。
从WebServer(IIS)发送大量数据可以正常工作。
我应该注意哪些问题?
答案 0 :(得分:0)
我有嵌入式设备,我正在播放从PC发送一些数据。白衣嵌入式设备,我不是在谈论的WindowsCE / Linux的,但丝毫microcontoller蹩脚的TCP-IP协议栈和RAM几KB。
您是从.Net应用程序发送到此设备吗?
和BeginSend上EndSend PC都工作而不会错误和在BeginSend推送的数据的总长度是相同的总返回EndSend长度。但送白衣的Wireshark数据的检查数量显示,没有尽可能多的数据包,应该有,如果几KB这种差异。
你是怎么得出这个结论的?
从WebServer(IIS)发送许多数据可以正常工作。
请详细说明你的意思?您是否通过HTTP发送到嵌入式设备并且有效?
我应该注意哪些问题?
有什么问题?嵌入式设备无法接收所有内容吗?如果是这样,你是如何得出这个结论的?