2010-10-30 40 views
1

我有一个套接字服务器,它侦听端口5001上的连接,当连接被接受并且接收到数据时,我请求我的数据库创建特定格式的数据包并将其写回客户端。在PHP套接字中的TCP重试

为了使数据传输更加可靠,我必须在PHP中实现TCP重试,我该如何解决这个问题我目前的实现使用了一个线程类来激发一个线程来检查是否收到了该包的ack直到超时,否则它会退出3次直到超时,但没有用相同的方式取得任何成功。

有没有更好的实现方法。

+0

如果您可以改进TCP的可靠性,那么您比99.99%的人更聪明。 – skaffman 2010-11-02 08:58:59

回答

2

为了让数据传输更可靠 我必须实现TCP 重试在PHP

不,你不会。 TCP已经可靠,它已经实现了重试。而且您无法知道是否收到了ACK,因此无法执行您所描述的内容。除非你正在谈论应用级别的确认?在这种情况下,你需要澄清你的问题。

+0

是的,我得到了所有错误的问题或可能不得不重新说明这个问题。我基本上使用套接字与远程设备进行通信,从我的PHP门户网站进行通信。现在我们已经实现了一个协议来帮助在应用程序通信级别。现在,当通信发生时,我必须执行应用程序级别重试,以查看是否收到了基于我们定义的协议的特定数据包的响应。 – user160108 2010-11-02 11:37:23

+0

我不明白这个问题。比什么好? – EJP 2010-11-02 23:12:44