因此 Http 使用 TCPIP 并且具有自动重试功能。我看到一些行为,一条消息似乎同时到达服务器 3 次。我想知道在连接不良时,TCPIP重试是否会触发额外的PHP调用?
如果是这种情况,如何避免重复工作?我在重复相同的交易时有保护措施,但如果它们在完全相同的时刻到达,那就更难做到这一点。
最佳答案
不,TCP 重传不会重复请求。 TCP 重传发生在单个连接的上下文中,它不会创建多个连接。并且重传的报文段具有与原始报文段相同的序列号;如果服务器接收到这两个报文(即丢失的报文段是确认报文),它可以判断第二个报文段是重复的,并且会自动忽略它。
关于PHP 脚本从单个 HTTP 请求执行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33681298/