小编pli*_*ner的帖子

Golang handlefunc with channel

我认为这个问题之前已被问过(可能不止一次),但我找不到它......

我正在学习Go,我想通过向"处理程序"发送一个频道来扩展经典的Web服务器示例.

我有这个标准的东西:

func hello(w http.ResponseWriter, r *http.Request) {
   io.WriteString(w, "Hello world!")
}

func main() {
    http.HandleFunc("/", hello)
    http.ListenAndServe(":8000", nil)
}
Run Code Online (Sandbox Code Playgroud)

现在我希望"hello"函数能够在一个频道上写东西,供有人使用...我用"普通"函数完成的方法是创建一个频道:

c := make(chan string) 
Run Code Online (Sandbox Code Playgroud)

并在调用函数时传递c.就像是:

dosomething(c)
Run Code Online (Sandbox Code Playgroud)

但是......如果我想要"hello"访问频道c,我该如何去做呢?

go

7
推荐指数
1
解决办法
4115
查看次数

使用HttpURLConnection的HTTP请求不会重用TCP连接

我已经创建了一个将GET请求发送到URL的应用程序,然后下载该页面的完整内容.

客户端向例如stackoverflow.com发送GET,并将响应转发给解析器,解析器具有从页面中查找需要随后的GET请求下载的所有源的可靠性.

以下方法用于发送这些GET请求.连续多次调用,解析器返回的URL.这些URL中的大多数都位于同一主机上,并且应该能够共享TCP连接.

public static void sendGetRequestToSubObject(String RecUrl)
    {
        URL url = new URL(recUrl.toString());
        URLConnection connection = url.openConnection ();
        InputStreamReader isr = new InputStreamReader(connection.getInputStream());
    }
Run Code Online (Sandbox Code Playgroud)

每次调用此方法时,都会创建一个新的TCP连接(使用TCP 3次握手),然后在该连接上发送GET.但我想重用TCP连接,以提高性能.

我想,因为每次调用方法时我都会创建一个新的URL对象,这就是它的工作方式......

也许有人可以帮助我以更好的方式做到这一点?

谢谢!

java connection httpurlconnection persistent

4
推荐指数
1
解决办法
8706
查看次数

标签 统计

connection ×1

go ×1

httpurlconnection ×1

java ×1

persistent ×1