Skip to content

Commit 60eecf0

Browse files
committed
优化并发和速率问题调整
1 parent 2a3b4bc commit 60eecf0

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

pkg/req.go

+5-6
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,24 @@ type ResponseData struct {
1616
func FetchPortData(client *http.Client, reqList ...ReqList) (respData []ResponseData) {
1717
if len(reqList) != 0 {
1818
var wg sync.WaitGroup
19-
respChan := make(chan ResponseData, len(reqList))
19+
respChan := make(chan ResponseData, cap(reqList))
2020
for _, request := range reqList {
2121
wg.Add(1)
22+
time.Sleep(100 * time.Millisecond)
2223
go func(request ReqList, wg *sync.WaitGroup) {
2324
defer wg.Done()
2425
resp, err := client.Get(request.req)
25-
time.Sleep(1500 * time.Millisecond)
2626
Error.HandleError(err)
2727
respBody := net2.HandleResponse(resp)
2828
resp.Body.Close()
2929
respChan <- ResponseData{request.host, respBody}
3030
}(request, &wg)
31+
go func() {
32+
respData = append(respData, <-respChan)
33+
}()
3134
}
3235
wg.Wait()
3336
close(respChan)
34-
35-
for data := range respChan { // 从channel中收集结果
36-
respData = append(respData, data)
37-
}
3837
}
3938
return respData
4039
}

0 commit comments

Comments
 (0)