找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4432|回复: 6

关于127.0.0.1,奇怪的问题

[复制链接]
发表于 2010-4-23 15:11:33 | 显示全部楼层 |阅读模式
自己写的一个视频会议程序,我把服务器和客户端都放在一台电脑上,IP地址用127.0.0.1。现在问题是丢包比较严重,而且是时好时坏。我一直认为127.0.0.1是不走网卡的,所以应该是始终畅通的,现在看来莫非是我理解错了?难道127.0.0.1也受网络状况影响吗?请高手给予解答。
发表于 2010-4-23 23:24:22 | 显示全部楼层
理解没错。
 楼主| 发表于 2010-4-27 14:37:29 | 显示全部楼层
我在客户端增大了Socket的缓冲区,情况有所好转,但偶尔还是丢包,我再增大服务端的缓冲区试试。
但是缓冲区设多大合适,也很让人迷惑。文档上说最大64K,因为是用16位表示这个缓冲区尺寸,现在应该没这限制了吧?拿我的程序来说,64K远远不够。我的程序响应的比较慢,大概1秒多,如果让100M的网卡充分利用起来,1秒就是100M啊,当然我用不了那么多,但我也希望能达到100K左右,所以我是不是应该把缓冲区设在200K?
发表于 2010-4-28 11:23:29 | 显示全部楼层
我记得有文章说是要平滑的发送数据. 例如:1s 发送的10M数据.可以做成5s发送10M. 缓冲区满了.后面的发送就没有意义了. 传说中的快生产者慢消费者.
 楼主| 发表于 2010-4-30 19:38:52 | 显示全部楼层
楼上的有理。我又进一步跟踪了一下,问题在于服务器端的接收缓冲区满了,仔细考虑之后,觉得增大缓冲区意义不大,还是要另开一个线程均匀地发送数据。
发表于 2010-6-15 03:51:29 | 显示全部楼层
视频会议和VOIP一样,数据frame必定是由定时器控制,均匀发送滴。
发表于 2010-6-19 18:11:55 | 显示全部楼层
我原来遇到的是接受端处理速度慢,导致接收缓冲区满了,你可以看看是否接受数据的线程经常被别的任务占用了,导致你接收数据的速度比较慢
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 04:01 , Processed in 0.016366 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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