Robocup Rescue1.0a 客户端长时间连接不上服务器的解决办法 ( agents connect to the Kernel slowly)

时间:2021-01-20 18:02:49

    自从Robocup Rescue的服务器版本从0.49调整到1.0a,出现的问题一个接着一个。1.0a的服务器变化得太大了(sth about code write in 0.49 but will run in 1.0. I ask the committee,they say the 1.0 is much deifferent with 0.49.),0.49的客户端根本不能在1.0a的服务器上跑。

    首先遇到的一个比较大的问题就是,Agents 很长时间连接不上kernel。启动客户端,很快连接上一个agent,但是下面的agent就好像卡住了一样,很长时间才连接上,有的时候甚至还有好几个agents不能连接上服务器。

    出现这个问题的原因除了和自己写的程序有问题有关以外,最主要的原因是服务器在启动后,会在一定的时间后开始初始灾难环境(时间开始增加),而不管你的Agengts是否连接上server!

   

    下面是我的解决办法。

    1.安装rng-tools包 (不要告诉我你不会用 sudo apt-get install)

    2.编辑 /etc/default/rng-tools 增添这一行文字:HRNGDEVICE=/dev/urandom.(如果不是root用户登录,记得使用sudo vim 编辑。)

   3. 启动 rng :    sudo /etc/init.d/rng-tools start。

      这样就OK了!在我这边实验,几乎不到半分钟就能全部搞定。(完全连接10~20个agents.)

      注意:这种方法适合64位的Ubuntu10.04的PC,如果是32位的电脑,我恐怕不能保证成功,因为原来我用的是32位的机子,结果没弄成功。  由于官方要求使用UBuntu的PC,所以也不能保证在别的Linux环境下这个方法行得通。



附注:(下面是rescue committee的邮件原文,关于解决这个问题的)

    here has been a problem with agents taking a very long time to connect, whichis caused by an empty entropy store that makes reads form /dev/random toblock.

This can be worked around (at least on ubuntu machines) without any codechanges as follows:

Install the package rng-tools

Edit /etc/default/rng-tools and add the lineHRNGDEVICE=/dev/urandom

Start the rng daemon:sudo /etc/init.d/rng-tools start

NOTE: This will make your system's random number generator potentially unsafe.Don't do this if you e.g. want to generate crytographic keys on your machine.


#7月28日更新:

另外,还有别的办法解决这个问题(一个研究生告诉我的,呵呵 感谢广东工业的卢学姐。我尝试了这个方法,效果很不错)。

把服务器和客户端所有的PC单独在一起组成一个局域网。我们以前是在学校实验室机房里做的,有100多台电脑。偶尔还是会有连接不上服务器的Agents出现。单独设置局域网后就好多了!



#7月29日更新:

将全部的Agents在一台电脑上跑的话,也可能会造成连接不上服务器。这个是肯定的,因为连接服务器的时候,你会发现客户端电脑的CPU和内存的使用率非常高(我的客户端是IntelCore i5双核,4GB内存,在启动时候CPU使用率会达到80%),电脑都承受不了了,当然不可能顺利完成你交给它的任务。

 

 


版权所有,转载请注明原出处和作者!

 

原文地址:http://blog.csdn.net/xtj332/article/details/6634756

 

 

 

 

 

 

.

 

 

....