c - 寻求帮助以解决此 c 错误
问题描述
我运行一个在线游戏,它运行在一个用 c++ 和 c 构建的服务器上(据我所知)。最近,我在他们的 github 页面上打开了一张票,因为我收到这样的错误:** Waiting for network I/o, bad file descriptor。
他们的回应是公平的,这不是他们的错误,而是我的服务器受到的限制。他们建议查看 ulimit 和 sysctl。Sysctl 似乎相当先进,我仍在研究,在我去探索我不明白的事情之前,但是,ulimit 似乎表明没有文件 i/o 或文件描述符限制,并且我尝试的所有输出,都扫描用户,并且通常使用 ulimit 进行扫描只是表示无限制。
在这方面,有没有人知道我应该寻找解决此错误的特定位置,或特定调用,例如打开文件,我应该查看是否无法正确关闭,或诸如此类?github主题是:https ://github.com/lisdude/toaststunt/issues/15
我还附上了发生这种情况的服务器的代码片段:
int
mplex_wait(unsigned timeout)
{
struct timeval tv;
int n;
tv.tv_sec = timeout / 1000000;
tv.tv_usec = timeout % 1000000;
n = select(max_descriptor + 1, &input, &output, 0, &tv);
if (n < 0) {
if (errno != EINTR)
log_perror("Waiting for network I/O");
return 1;
} else
return (n == 0);
}
我希望这有帮助。C 不是我的强项,所以如果需要更多信息,请告诉我。
解决方案
推荐阅读
- ruby - 如何在 Ruby 中导入虹膜数据集
- unreal-engine4 - 在半空中时发射角色速度增加 - unreal4
- html - 主页不会滚动超过某个点
- javascript - Reactjs 裁剪图像
- windows - 批量减少文件名中的空格
- linux - Spring boot 2.1在Ubuntu18.4上运行,但无法从外部连接
- c# - Json 到 ListView - 无法将类型转换为 IEnumerable - Xamarin
- php - 如何从 Django(python) 子进程中的 PHP 文件中获取变量?
- javascript - 查找最近的特定父元素的目标元素
- javascript - Javascript - 反转数组的每个字符串