halleyzhang 发表于 2010-4-23 15:11:33

关于127.0.0.1,奇怪的问题

自己写的一个视频会议程序,我把服务器和客户端都放在一台电脑上,IP地址用127.0.0.1。现在问题是丢包比较严重,而且是时好时坏。我一直认为127.0.0.1是不走网卡的,所以应该是始终畅通的,现在看来莫非是我理解错了?难道127.0.0.1也受网络状况影响吗?请高手给予解答。

steven99ca 发表于 2010-4-23 23:24:22

理解没错。

halleyzhang 发表于 2010-4-27 14:37:29

我在客户端增大了Socket的缓冲区,情况有所好转,但偶尔还是丢包,我再增大服务端的缓冲区试试。
但是缓冲区设多大合适,也很让人迷惑。文档上说最大64K,因为是用16位表示这个缓冲区尺寸,现在应该没这限制了吧?拿我的程序来说,64K远远不够。我的程序响应的比较慢,大概1秒多,如果让100M的网卡充分利用起来,1秒就是100M啊,当然我用不了那么多,但我也希望能达到100K左右,所以我是不是应该把缓冲区设在200K?

sugar 发表于 2010-4-28 11:23:29

我记得有文章说是要平滑的发送数据. 例如:1s 发送的10M数据.可以做成5s发送10M. 缓冲区满了.后面的发送就没有意义了. 传说中的快生产者慢消费者.

halleyzhang 发表于 2010-4-30 19:38:52

楼上的有理。我又进一步跟踪了一下,问题在于服务器端的接收缓冲区满了,仔细考虑之后,觉得增大缓冲区意义不大,还是要另开一个线程均匀地发送数据。

steven99ca 发表于 2010-6-15 03:51:29

视频会议和VOIP一样,数据frame必定是由定时器控制,均匀发送滴。

yoogera 发表于 2010-6-19 18:11:55

我原来遇到的是接受端处理速度慢,导致接收缓冲区满了,你可以看看是否接受数据的线程经常被别的任务占用了,导致你接收数据的速度比较慢
页: [1]
查看完整版本: 关于127.0.0.1,奇怪的问题