Dans nos connexions quotidiennes, si le timeout est trop long, cela affectera le test en cours de développement. L'article suivant partage principalement avec vous le code de paramétrage du timeout de connexion pour Socket en Java. Les amis qui en ont besoin peuvent s'y référer. ci-dessous. Jetons un coup d’œil ensemble.
Avant-propos
Tout le monde sait que si le Socket de Java ne peut pas se connecter à l'hôte avec l'adresse IP et le port spécifiés, il lancera IO Exception exception, et dans des circonstances normales, il y aura une période de temps indéfinie entre la connexion et l'apparition de IOException, ce qu'on appelle le délai d'attente. Si le délai d'attente est trop long, cela affectera le test. pendant le développement. Si le code devient un produit, cela affectera grandement l'expérience utilisateur, alors comment définir cette durée ? Jetons un coup d'œil à l'introduction détaillée :
La classe Socket fournit une méthode :
public void connect(SocketAddress endpoint, int timeout) throws IOException
Paramètres :
point de terminaison – SocketAddress fournissant l'adresse IP et le port de l'hôte
timeout – Valeur du délai d'expiration à utiliser (en millisecondes).
Cette méthode est utilisée pour connecter le Socket au serveur spécifié et définir une valeur de délai d'attente. Lorsque la valeur du délai d'attente est supérieure à 0, lorsque le délai d'attente se produit, une exception sera levée et la connexion sera arrêtée. Définir la valeur du délai d'attente sur 0 expirera indéfiniment.
Par conséquent, vous pouvez définir le délai d'expiration de la connexion Socket en utilisant la méthode ci-dessus. Le code est le suivant :
// 设置ip和prot String ip = "127.0.0.1"; int port = 8888; // 创建Socket Socket client = new Socket(); // 设置发送地址 SocketAddress addr = new InetSocketAddress(ip, port); // 超时1秒,并连接服务器 client.connect(addr, 1000);
Expliquez SocketAddress et InetSocketAddress ci-dessus. Ces deux classes sont utilisées. pour créer des connexions Socket. Adresse, la première est une classe abstraite, et la seconde est une sous-classe de la première. L'adresse est créée via la méthode constructeur :
<🎜. >public InetSocketAddress(String hostname, int port)
Paramètres :
public final InetAddress getAddress()
public String getHostAddress()
// client就是上面创建的Socket String host_ip = client.getAddress().getHostAddress();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!