je lance une connexion socket, en utilisant l'extrait suivantObliger Socket.connect attendre un moment précis avant de décider d'une connexion est indisponible
Socket socket = new Socket();
InetSocketAddress endPoint = new InetSocketAddress("localhost", 1234);
try
{
socket.connect(endPoint, 30000);
}
catch (IOException e)
{
e.printStackTrace();
// Logging
}
Le critère d'évaluation, il tente de se connecter à est déconnecté, ce Je veux faire est de tenter de se connecter et d'utiliser le délai d'attente 30000
ms, attendez pour cette période de temps avant qu'il conclut un résultat
Actuellement, ce paramètre 30000
ne semble pas être appliquée, à partir de l'horodatage lors de ma journalisation, il apparaît qu'il est déterminé dans un délai d'une seconde qu'une connexion a échoué.
Comment puis-je forcer la connexion à attendre un certain temps avant d'abandonner?
13:13:57,685 6235 DEBUG [Thread-7] - Unable to connect to [localhost:1234]
13:13:58,685 7235 DEBUG [Thread-7] - Unable to connect to [localhost:1234]
13:13:59,695 8245 DEBUG [Thread-7] - Unable to connect to [localhost:1234]
13:14:00,695 9245 DEBUG [Thread-7] - Unable to connect to [localhost:1234]
EDIT: Le API ne dit Connects this socket to the server with a specified timeout value. A timeout of zero is interpreted as an infinite timeout. The connection will then block until established or an error occurs.
mais il semble que je ne suis pas l'expérience de ce type de comportement, ou ne suis pas la restauration à elle, très probablement celui-ci
Merci, j'ai essayé 'socket.setSoTimeout (30000);' avant 'socket.connect()' mais le même comportement. – Jimmy
Cela définit un délai de lecture *, pas un délai de connexion. Votre réponse est incorrecte – EJP