我只使用 linux 套接字编写了一个客户端套接字程序。这是我在程序中所做的图片的信息
- 创建套接字
- 与服务器套接字建立连接
- 将该套接字分配给选择的读取集和异常集。
- 使用 select 方法在单独的线程中给出超时值 NULL
服务器在一台外部设备中运行。
该程序在阅读和所有方面都可以正常工作。现在,当我拔下该设备的电源线时,我遇到了问题。
我假设当我们移除设备的电源线时,所有的插座都会突然关闭,并且连接的客户端插座会收到读取事件。当我们尝试读取时,我们收到读取为零的字节数,这意味着服务器关闭了连接。
但是在我的程序中,当我拔下设备的电源线时,在我的客户端程序中选择没有出现意味着客户端套接字没有收到任何事件。我不明白为什么..
任何关于我们如何知道服务器关闭连接或关闭电源时套接字行为的任何信息的建议都将不胜感激。
我需要你的帮助,这非常关键。
谢谢你。