Maison  >  Article  >  développement back-end  >  Golang fermer la prise

Golang fermer la prise

王林
王林original
2023-05-16 14:50:37681parcourir

Golang est un langage de programmation relativement nouveau qui facilite la création d'applications Web hautes performances et évolutives. Pour la programmation réseau, Golang fournit une bibliothèque TCP intégrée qui facilite l'écriture d'applications réseau. Lors du développement d'applications réseau, nous devons parfois fermer une connexion socket afin de mettre fin à la communication entre le serveur et le client. Cet article explique comment fermer la connexion socket dans Golang.

  1. Créer une connexion socket

Dans Golang, nous pouvons utiliser le package net dans la bibliothèque standard pour créer une connexion socket. Lors de l'utilisation d'une connexion TCP, nous pouvons utiliser la fonction Dial pour établir une connexion :

conn, err := net.Dial("tcp", "localhost:8080")
if err != nil {
    log.Fatal(err)
}

// 使用连接进行通信
// ...

// 关闭socket连接
conn.Close()

Dans ce code, nous utilisons la fonction Dial pour établir une connexion TCP avec le numéro de port 8080 sur l'hôte local. L’appel de cette fonction renverra un objet de connexion conn et d’éventuelles erreurs. Après avoir utilisé l'objet conn pour communiquer, nous devons fermer sa connexion avec le serveur à temps pour libérer des ressources et mettre fin à la communication.

  1. Fermer une connexion socket côté serveur

Côté serveur, lorsque nous devons mettre fin à la communication avec le client, nous devons fermer la connexion socket créée. Nous pouvons utiliser le package net intégré et le package os du langage Go pour obtenir le handle de la connexion socket, puis utiliser la méthode Close fournie dans le package os pour fermer la connexion. Par exemple :

// 监听端口并接受客户端连接
listener, err := net.Listen("tcp", ":8080")
if err != nil {
    log.Fatal(err)
}

for {
    // 接受客户端连接
    conn, err := listener.Accept()
    if err != nil {
        log.Fatal(err)
    }

    // 使用连接进行通信
    // ...

    // 关闭连接
    conn.(*net.TCPConn).Close()
}

Dans ce code, nous utilisons la fonction Listen du package net pour écouter le port, et utilisons la fonction Accept pour accepter les connexions initiées par le client. Après avoir communiqué à l'aide de la connexion, nous utilisons la conversion de type de pointeur pour convertir l'objet conn en type *net.TCPConn et fermons la connexion à l'aide de la méthode Close.

  1. Fermer une connexion socket côté client

Côté client, on peut fermer la connexion avec le serveur en appelant la méthode Close de l'objet de connexion. Par exemple :

conn, err := net.Dial("tcp", "localhost:8080")
if err != nil {
    log.Fatal(err)
}

// 使用连接进行通信
// ...

// 关闭连接
conn.Close()

Dans ce code, nous utilisons la fonction Dial pour établir une connexion TCP avec le numéro de port 8080 sur l'hôte local, et utilisons la méthode Close pour fermer la connexion une fois la communication terminée. Notez que ce code ne fonctionne que si la connexion est fermée côté client, pas si la connexion est fermée côté serveur.

Résumé

Dans Golang, nous pouvons utiliser le package net dans la bibliothèque standard pour créer une connexion socket, utiliser la fonction Dial pour créer une connexion pour le client et utiliser la fonction Listen pour créer une connexion pour le serveur. Nous pouvons fermer la connexion en utilisant la méthode Close de l'objet de connexion. Il s’agit d’un moyen efficace de libérer des ressources et de mettre fin à la communication ; il convient donc de le garder à l’esprit lors du développement d’applications Web.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:golang miam installationArticle suivant:golang miam installation