如何正确捕获服务器的初始响应
How to properly catch the initial response of a server?
我的C++程序正在尝试检查ftp服务器的状态。它使用 winsock 和简单的测试函数,如下所示(伪代码):
create a tcp socket
connect to port 21 of the server
do recv() while data is available
close socket
return received data
它不会使用 send() 向服务器发送任何数据 - 只是尝试捕获服务器的初始响应。这实际上有效并返回"200 响应服务器就绪" - 这正是我所需要的。但是在第二次运行同一函数后(第一次运行后立即),它不返回任何内容(因为 recv() 返回 -1)。Wireshark告诉我服务器真的没有发送响应。之后,我在测试函数调用之间暂停了半秒钟,现在它可以工作了,但这个解决方案是不需要的。问题是:如何正确捕获服务器的初始响应(不仅是ftp,还有其他任何响应)?
我认为你不需要抓住服务器的答案。如果您的程序连接到某个端口,则某个服务器侦听此端口并且正常。因此,只需打开连接并检查套接字变量。
PS:很多服务器在你向它们发送数据之前什么都不做(不确定FTP),你必须发送一些东西才能得到答案。但是要有状态成功的完整连接就足够了。
相关文章:
- NodeJs 服务器充斥着 UDP 广播,不发送响应
- 如何使用软化工具包从 OPC UA 服务器异步读取操作回调中的数据值响应中获取 NodeId 详细信息
- 将静态 IP 分配给我的 ESP32 服务器后不再响应
- 如何使用 C++ 中的 cpprestsdk 发布 json 数据并从本地服务器获取响应
- boost::asio http 服务器无法向 Postman 返回有效响应
- 提升野兽 服务器响应延迟 1 秒
- WebSocket服务器握手响应
- 服务器 API 不响应 Curl 函数
- FTP服务器试图登录时奇怪的响应
- 如何知道何时没有进一步的响应在使用SSL_READ()时从服务器接收
- 如何调用对带有句点的服务器的请求,并在响应无效时再次发送
- 服务器在实现 POST 请求时响应字符串不完整
- GET请求后服务器的响应不正确
- echo服务器没有响应udp
- 从服务器响应中解析 UTF8 字符串
- 服务器不使用 select(), cpp 响应新客户端
- C++ 将请求发送到 Web 服务器上的 API,然后接收 JSON 数组响应
- 提升 Daytime7 服务器示例不响应 NetCat 客户端
- 将字符串发布到 Web 服务器,获取响应
- 损坏的HTML - 浏览器不会从我的网络服务器下载整个HTTP响应,CURL可以