Maison > développement back-end > Golang > le corps du texte

erreur de pointeur nulle lors de la tentative de démarrage d'un serveur non démarré à partir de httptest

WBOY
Libérer: 2024-02-12 19:33:21
avant
563 Les gens l'ont consulté

尝试从 httptest 启动未启动的服务器时出现 nil 指针错误

l'éditeur php Strawberry répondra à une question courante pour tout le monde : "Une erreur de pointeur nul s'est produite lors de la tentative de démarrage d'un serveur non démarré à partir de httptest". Lors des tests HTTP, nous pouvons parfois rencontrer cette erreur. En effet, httptest tente de se connecter à un serveur qui n'a pas encore été démarré, ce qui entraîne une erreur de pointeur nulle. Avant de résoudre ce problème, nous avons besoin de quelques connaissances de base.

Contenu de la question

J'essaie de créer un serveur http fictif dans mon code. Je voulais préciser le numéro de port, j'ai donc utilisé le code suivant :

l, _ := net.listen("http", "localhost:49219")
svr := httptest.newunstartedserver(http.handlerfunc(func(w http.responsewriter, r *http.request) { ... }))
svr.listener.close()
svr.listener = l
svr.start()
Copier après la connexion

Cependant, sur la ligne svr.start(), j'obtiens un message d'erreur :

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
Copier après la connexion

Évidemment, svr n'est pas nul en ce moment. Je veux savoir pourquoi cette erreur se produit et comment la corriger ?

Solution

  • Appelez net.listen 函数时需要更新第一个参数(行:l, := net.listen("http", "localhost:49219").

  • doit être tcptcp4tcp6unixunixpacket,而不是 http.

  • pouripv4,您可以使用tcp4.

Exemple :

65bd95abbd7c

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!

source:stackoverflow.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal