读书人

网络连接异常 请高手指示

发布时间: 2012-08-25 10:06:20 作者: rapoo

网络连接错误 请高手指示 在线等
开始连接正常 通讯一段时间后 网络中断 再次能连接上 但下面的语句并没有阻塞,value一直返回-1,并且通讯命令都无效了,这是怎么回事,谢谢!

value = accept(m_socket_fd, (struct sockaddr*)&client_addr, &sin_size);

if (value == -1)
{
perror("accept ERROR:");
}

[解决办法]
while(1)
{
······
······
value = accept(m_socket_fd, (struct sockaddr*)&client_addr, &sin_size);

if (value == -1)
{
if (value == EINTR) continue;
perror("accept ERROR:");
}
······
······
}
这样你在运行一下试试,我怀疑是你在运行接收链接的时候又中断请求发生了!!!
[解决办法]
#define EMFILE 24
EMFILE The per-process limit of open file descriptors has been reached.
服务端用的是线程还是进程?
[解决办法]
描述符用满了,建议你perror看看错误是什么。

需要打开描述符限制,命令如下,放在/etc/rc.local即可

ulimit -SHn 65535
[解决办法]

探讨

描述符用满了,建议你perror看看错误是什么。

需要打开描述符限制,命令如下,放在/etc/rc.local即可

ulimit -SHn 65535

读书人网 >UNIXLINUX

热点推荐