gpt4 book ai didi

c - 发送()问题

转载 作者:行者123 更新时间:2023-12-02 06:08:55 28 4
gpt4 key购买 nike

当我使用网络浏览器测试我的程序时,我可以很好地写入套接字/FD,所以我决定循环它并在连接中途切断连接,我发现了一个问题。 send() 能够在套接字不可用时关闭整个程序。我认为问题在于该程序陷入了第 22 条军规并自行关闭。所以我将套接字设置为不阻塞。不用找了。知道为什么会这样吗?

else if ( b->temp_socket_list[read].revents & POLLOUT ) {  
printf ( "#Write#\n" );
char *done = "Done!";
int sent = send ( sock, done, 5, 0 );
printf ( "end\n", sent );
}

最佳答案

这可能是由于 SIGPIPE 信号的默认操作。要忽略此信号,请使用类似的东西:

signal(SIGPIPE, SIG_IGN);

套接字错误将被报告为套接字函数的返回值,而不是信号。

关于c - 发送()问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641311/

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