gpt4 book ai didi

c - 文件描述符和套接字文件描述符的区别

转载 作者:行者123 更新时间:2023-12-01 23:58:37 25 4
gpt4 key购买 nike

我可以将 open 调用返回的文件描述符绑定(bind)到套接字吗?

我正在尝试做类似的事情,

 filefd = open("path",O_RDWR);

...

bind (filefd, (struct sockaddr *) &servaddr, sizeof(servaddr));
connfd = accept (filefd, (struct sockaddr *) &cliaddr, &clilen);

为什么 accept 调用返回 -1?

最佳答案

从应用程序的角度来看,区别在于您如何创建和使用描述符。一些系统调用可以采用任何类型的描述符,而其他系统调用则需要特定类型的描述符。

在你的例子中是 bind如果您检查了错误,调用也会返回 -1。当系统调用返回 -1 时,您应该检查 errno看看出了什么问题。您可以使用 strerror获取错误的可打印字符串,或 perror直接打印。

关于c - 文件描述符和套接字文件描述符的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22499675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com