2

我正在编写一个需要读取表单套接字的程序,如下所示:

socket = (SSLSocket) factory.createSocket(domain, port);
socket.setSoTimeout(5000); 
socket.startHandshake();

我以前没有套接字编程的经验。我需要知道在抛出错误之前等待 5 秒是否是合理的时间?我需要设定一个时间,让我不会失去建立联系的机会。

第二个问题是:计时器开始时,读数开始后它会停止吗?或者,我应该考虑程序完成阅读所需的时间吗?

4

1 回答 1

0

你的第一个问题基本上没有意义。您可以根据您对平均服务器响应时间的预期以及在确定存在问题之前准备等待的额外时间来设置读取超时。只有你有信息来量化你的应用程序,但肯定 5s 太短了。一条经验法则是使用预期响应时间的两倍或三倍,具体取决于差异,但这完全取决于您来决定。

要回答您的第二个问题,计时器在您输入 read() 时启动,并在第一个数据字节到达或超时到期时停止。

于 2012-11-22T13:10:50.937 回答