tcp - 来自 TCP 客户端的奇怪行为(FIN ACK 后跟来自客户端的 SYN 请求)
问题描述
我这里有一个奇怪的问题。我正在 Raspberry 上用 C++ 编写一个小型服务器应用程序,而在 Android 上运行的商业程序旨在连接到它。交换的数据是非常小的数据包,用于技术设备的位置控制。我的程序工作正常,我设置了一个标准的 TCP/IP 套接字,将它绑定到一个地址,开始监听,当一个 SYN 信号来自客户端时,我接受它。然后客户端发送请求,我发送答案,所有潜在的错误消息和套接字错误当然都会被监控。使用相同协议的其他程序从客户端到服务器的通信如下所示(一切正常):
客户端 > SYN
SYN ACK < 服务器
客户端 > 确认
客户端 PSH ACK ... 一些请求 ...
确认<服务器
PSH ACK ...一些回复... <服务器
等等。这适用于使用相同协议的其他程序,但不适用于 Android 7 平板电脑上的程序。原因是平板上的Client在收到服务器的第一个回复时立即发送FIN、ACK后跟SYN。客户端收到回复并愉快地处理,没有任何错误——没有明显的FIN原因!这可能是一个错误,但我无权访问客户端代码。除了在每次从服务器写入后再次调用“接受”之外,还有其他解决方法吗????提前谢谢了 ...
解决方案
推荐阅读
- swift - 如何录制 AVDepthData 视频并保存在图库中?
- amazon-web-services - 停止后我可以取回 EC2 IPV4
- json - 解析和显示 JSON 数据
- asp.net-mvc - 使用 Web API 中的多部分表单数据上传图像的大小
- .net - 尝试通过串行连接传递文本文件的行时,程序挂起。我究竟做错了什么?
- nosql - Dynamodb更新相关项目之间的属性值
- javascript - 如何从下拉列表中重新初始化 detailsAttribute onchange country?
- android - 如何创建响应式 ImageView?
- php - 在while循环的每次迭代中添加一个计数到动态数组键
- latex - 如何有效地阻止具有字体颜色的文本?