关于udp缓冲区设置的问题请教

蛋高8 2013-07-18 04:38:37
遇到的问题:
对服务器进行UDP请求,当到达一定的量之后就请求不到结果了,但此时直接在该服务器上请求127.0.0.1依然会返回结果,但请求服务器的外网IP就请求不到。
所以在请求不到的时候,其实我的应用服务还是正常工作没有死掉的。

我想做的:

1、希望修改udp收包缓冲区的过期时间,让拥塞到缓冲区的数据尽快过期,让新的请求能进来,如何配置?
2、如何通过命令手动清空现在的缓冲区数据?
3、出现这样的情况会不会还有其它的原因,给见建议或者指导。
...全文
166 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
空的 2013-07-18
如果在本机上 实现UDP套接口收发,它不走网卡和 UDP协议,也就没有UDP接受缓冲区满了这个瓶颈了,应该有另一个单独的缓冲区,用的是UNIX域协议(unix网络编程上这么写的),类似于IPC 怎么刷新接受缓冲区不知道~~~不过lz可以试着加大接受缓冲区 socket SO_RCVBUF选项 不过加大了缓冲区一般也没啥用,就是能堵的多一点~~ lz 是不是 recvfrom 处理数据 sendto 在同一个进程or线程内实现,一条龙服务? 那样的话处理慢了就会堵了 如果是这样,建议: 可以recv 一个进程,只管收,完了扔给下一个进程 然后 处理 一个进程 ,只管处理,完了继续扔 最后 sendto 一个进程,只管发 这样各个操作不会相互制约,收包不会出现瓶颈,不会缓冲满了这种情况 进程 or 线程 自选 进程用IPC 线程看着办
回复
相关推荐
发帖
系统维护与使用区
创建于2007-08-27

1.9w+

社区成员

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
申请成为版主
帖子事件
创建了帖子
2013-07-18 04:38
社区公告
暂无公告