gpt4 book ai didi

golang http 服务器通过套接字发送 r.URL.Path

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:14 25 4
gpt4 key购买 nike

我有一个 http 服务器,我想使用套接字将 r.URL.Path 文本发送到客户端

我得到一个错误:undefined: conn in conn.Write这是因为 conn 是在另一个函数中定义的

我尝试过的:

package main

import (
"net"
"io"
"net/http"
)


ln, _ := net.Listen("tcp", ":8081")
conn, _ := ln.Accept()

func hello(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "Hello world!")
conn.Write([]byte(r.URL.Path + "\n")) //Here I'm attemping to send it
}

func main() {


http.HandleFunc("/", hello)
http.ListenAndServe(":8000", nil)
}

最佳答案

您的问题实际上在于您尝试声明变量的方式。
如果您希望您的连接在全局范围内,请使用 var

package main

import (
"io"
"net/http"
"net"
)


var ln, _ = net.Listen("tcp", ":8081")
var conn, _ = ln.Accept()

func hello(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "Hello world!")
conn.Write([]byte(r.URL.Path + "\n")) //Here I'm attemping to send it
}

func main() {
http.HandleFunc("/", hello)
http.ListenAndServe(":8000", nil)
}

关于golang http 服务器通过套接字发送 r.URL.Path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43967130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com