Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2601|回复: 5

如何解决Lnet多包发送问题

[复制链接]

该用户从未签到

发表于 2013-6-4 17:00:28 | 显示全部楼层 |阅读模式
猫工,你好!最近我用Lazarus开发一款显示屏通信程序,基本功能已经完成90%,但是遇到了UDP多包发送的问题,在ubantu下只要超过4096字节就发不过去,而在Windows下,我用截包工具发现可以发过去,每包分成了1K多字节,但是如果我在ubantu下同样进去分包发送还是过不去,问了通讯卡的人,他们说系统是可以自动截包的,我查了下网络上有关MTU的资料,确实有这么一回事,但我不解的是,既然可以自动,为什么ubantu不行?因为通讯协议比较复杂,有包头还有包尾,所以人文分包发送服务端不收,但是windows下我看好像系统能自动分包
回复

使用道具 举报

该用户从未签到

发表于 2013-6-5 10:06:37 | 显示全部楼层
纯蓝犹豫②()  10:03:56
你设置的缓存就是4096
ConVnet-yuyu<>  10:04:02
一般1400就会出问题
建议不要发大包
纯蓝犹豫②()  10:04:14
你还是直接用socket吧
我现在都懒得用这些东东了
ConVnet-yuyu<>  10:04:37
UDP本身就是个不可靠传输
猫工()  10:04:42
在ubuntu下怎么自动分包
ConVnet-yuyu<>  10:05:01
UBUNTU当然也会自动分
你自己设置的MTU太大了
你确认一下你的有奔头设置的值是多少
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2013-6-5 18:44:56 | 显示全部楼层
兄弟姐妹们,感谢你们的回帖,不过,你们给我的答案我不满意啊,没有可行的经验方案啊
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2013-6-9 11:37:08 | 显示全部楼层
怎么没人回应啊?这个问题难道非常难吗?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2013-6-9 16:33:33 | 显示全部楼层
我经过试验,修改UBANTU下的MTU根本不管用,无论改多小,一旦UDP发送数据大于4096,服务端都收不到
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-6-10 01:26:24 | 显示全部楼层
放上你的程序。
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-1 18:41 , Processed in 0.025866 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表