大家好:
我用uclinux在xilinx spartan3e starter kit上做一个UDP的客房端,在一台电脑上运行UDP的服务器。服务器发送小于1472个字节的数据的时候,uclinux能够接收到数据。但是当发送的数据大于1472的时候uclinux就接收不到了,而仅仅是阻塞在那里,我已经查得uclinux和主机的MTU设置都是1500,这样是不是说uclinux接收不到被分片了的数据包啊?是不是我在编译uclinux内核的时候少选了什么选项呢?
请各位指点,谢谢。
补充一下,我这个客户端程序在计算机上运行的时候是能够接收到大于1472的数据的(事实上,在计算机上它能够接收到10K大小的数据),但是当把这个客户端放到开发板的uClinux中运行的时候,就出现了上述问题,所以我觉得应该是uClinux配置的问题,不过我找不出什么原因。
急需指点啊!
没遇上过,,,
你测试过tcp没有啊,,,有没问题?
分片都是协商好的才发,,,
爱莫能助,,,帮顶了。。
个人觉得这个应该是你开发板底层配置的问题.
建议查看一下你的mac和phy的寄存器,印象里是有寄存器可以设置MTU大小的.
好像有些不支持分片的,影响实时
你的用的什么协议的,有些具体的协议栈支持的不同
还有linux里面的内核net里面的代码可以裁剪出来当协议用不?