两者connect()和bind()系统调用都将套接字文件描述符"关联"到一个地址(通常是ip/port组合).他们的原型如下: -
int connect(int sockfd, const struct sockaddr *addr,
socklen_t addrlen);
Run Code Online (Sandbox Code Playgroud)
和
int bind(int sockfd, const struct sockaddr *addr,
socklen_t addrlen);
Run Code Online (Sandbox Code Playgroud)
2个电话之间的确切区别是什么?应该connect()何时使用何时bind()?
具体来说,在一些示例服务器客户端代码中,发现客户端正在使用connect()而服务器正在使用该bind()调用.理由并不完全清楚.
我有分叉过程的pid.现在,从我的c代码(在Linux上运行),我必须定期检查此进程是否仍在运行或终止.我不想像wait()或那样使用阻塞调用waitpid().需要(最好)一个非阻塞系统调用,它只检查这个pid是否仍在运行并返回子状态.
什么是最好和最简单的方法呢?