自己实现gethostbyname
自己写了个gethostbyname能运行就是cpu占用率高,怎么解决啊亲们?? 异步收发DNS请求? 回复 2# linux_c_py_php我用的是向服务器发送dns请求,用recvfrom接收,recvfrom阻塞我就用setsockopt函数设置阻塞时间为500毫秒(我想设置2秒但只要设置成大于1秒程序就是23秒左右才返回)现在问题是程序运行了但cpu占用率高
:'(伤心啊cpu占用率高老板不高兴啊 回复 1# love_linux_love
gprof一下看看性能瓶颈在哪儿去优化主是了,从你的只言片语中很难判断问题的。不过你的需要通过select加non-blocking socket完全可以高效的实现。 这个逻辑应该不复杂,或贴出代码看看 回复 6# timespace
代码老板给锁电脑了不让我带出来,主要问题是recvfrom是阻塞我用setsockopt设置2秒后收不到就退出,可是2秒很难设置
myworkstation 发表于 2013-07-30 10:49 static/image/common/back.gif
回复 1# love_linux_love
多谢回帖我试试 回复 5# myworkstation
感谢回帖我试试
终于找到原因了太粗心了在sendto发送失败后没有关闭close;导致程序长时间运行分配过多socket_fd占用大量内存,感谢大家回帖,我是新手第一次发帖。:em03:
页:
[1]