c - 为什么服务器在客户端应用程序处于 STOPPED 状态后等待客户端?

标签 c sockets client-server recv suse

这个问题是对 this previously asked question 的扩展 :

我实现了 solution given by jxh具有以下参数:

SO_KEEPALIVE = Enabled  
TCP_KEEPIDLE = 120 secs  
TCP_KEEPINTVL = 75 secs  
TCP_KEEPCNT = 1

那为什么服务器一直在等待客户端的响应呢?

我也是在网上查到的

kill <pid>实际发送SIGTERM到给定的过程。

所以我用了ps -o pid,cmd,state “杀死”telnet 应用程序后的命令。

我看到 telnet 进程仍然存在,但有 process state = T ,即它处于STOPPED状态

P.S.:我对 Linux Signals 了解不多,请考虑。

最佳答案

因为客户端还没有退出,还处于STOPPED状态,所以也没有关闭连接。

关于c - 为什么服务器在客户端应用程序处于 STOPPED 状态后等待客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311222/

相关文章:

c++ - 为什么arduino中有两个if语句?

c - 如何在流程图文档中表示静态变量声明?

linux - 不需要 root 访问权限的优秀 Linux TCP/IP 监控工具?

java - 客户端建模 - Java 线程交错

C - 从内核模块写入物理内存

c++ - C/C++ 链接约定

ruby - 在不关闭连接的情况下使用ruby发送套接字消息

c# - Socket ReceiveAsync、超时和问题

java - 小程序-服务器通信,我该怎么做?

java - 为什么套接字不使用 ip 而不是 localhost 连接?