【问题标题】:VLang `dial_tcp failed`VLang `dial_tcp failed`
【发布时间】:2021-12-02 14:51:24
【问题描述】:

我正在尝试编写一个简单的多线程 vlang 应用程序,以分别调用 'http://www.google.com' 和 'http://www.bing.com' 50 次并计算响应大小。但我收到dial_tcp failed 的多个请求:

代码如下:

module main

import net.http
import sync.pool

struct IResult {
    u string
    c int
}

fn sprocess(pp &pool.PoolProcessor, idx int, wid int) &IResult {
    item := pp.get_item<string>(idx)

    resp := http.get(item) or {
      println('Err [ for $item ]: $err.msg')
      return &IResult{
        item,
        0
      }
    }

    return &IResult{
      item,
      utf8_str_len(resp.text)
    }
}

fn main() {
    mut pp := pool.new_pool_processor(callback: sprocess)
    pp.work_on_items(['http://www.google.com', 'http://www.bing.com'].repeat(50))

    for x in pp.get_results<IResult>() {
        println('$x.u len = $x.c')
    }
}

【问题讨论】:

    标签: tcp threadpool vlang


    【解决方案1】:

    我已经用最新的 master (1b9eef7) 尝试了相同的代码,它在 run 和直接调用二进制文件 (./main) 时都可以正常工作。

    与系统上存在的libssl-dev 一起使用。考虑升级 V 并使用libssl-dev

    $ v run main.v
    http://www.google.com len = 14969
    http://www.bing.com len = 80681
    http://www.google.com len = 14982
    http://www.bing.com len = 80682
    http://www.google.com len = 14903
    http://www.bing.com len = 80682
    http://www.google.com len = 14999
    http://www.bing.com len = 80682
    http://www.google.com len = 14938
    http://www.bing.com len = 80682
    http://www.google.com len = 14895
    http://www.bing.com len = 80682
    http://www.google.com len = 14985
    http://www.bing.com len = 80682
    http://www.google.com len = 14996
    http://www.bing.com len = 80682
    http://www.google.com len = 14982
    http://www.bing.com len = 80682
    http://www.google.com len = 14983
    http://www.bing.com len = 80682
    http://www.google.com len = 14998
    http://www.bing.com len = 80681
    http://www.google.com len = 14932
    http://www.bing.com len = 80682
    http://www.google.com len = 14943
    http://www.bing.com len = 80682
    http://www.google.com len = 15005
    http://www.bing.com len = 80682
    http://www.google.com len = 15017
    http://www.bing.com len = 80682
    http://www.google.com len = 14966
    http://www.bing.com len = 80682
    http://www.google.com len = 14990
    http://www.bing.com len = 80682
    http://www.google.com len = 14950
    http://www.bing.com len = 81099
    http://www.google.com len = 14977
    http://www.bing.com len = 80682
    http://www.google.com len = 14976
    http://www.bing.com len = 80681
    http://www.google.com len = 14924
    http://www.bing.com len = 80682
    http://www.google.com len = 14992
    http://www.bing.com len = 80682
    http://www.google.com len = 14990
    http://www.bing.com len = 80682
    http://www.google.com len = 15026
    http://www.bing.com len = 80682
    http://www.google.com len = 15037
    http://www.bing.com len = 80682
    http://www.google.com len = 14967
    http://www.bing.com len = 80682
    http://www.google.com len = 14947
    http://www.bing.com len = 80682
    http://www.google.com len = 14969
    http://www.bing.com len = 80682
    http://www.google.com len = 14965
    http://www.bing.com len = 80682
    http://www.google.com len = 14934
    http://www.bing.com len = 80682
    http://www.google.com len = 14937
    http://www.bing.com len = 80682
    http://www.google.com len = 15001
    http://www.bing.com len = 80682
    http://www.google.com len = 14984
    http://www.bing.com len = 80682
    http://www.google.com len = 15001
    http://www.bing.com len = 80682
    http://www.google.com len = 14969
    http://www.bing.com len = 80682
    http://www.google.com len = 14947
    http://www.bing.com len = 80681
    http://www.google.com len = 14976
    http://www.bing.com len = 80682
    http://www.google.com len = 14970
    http://www.bing.com len = 80682
    http://www.google.com len = 14949
    http://www.bing.com len = 80682
    http://www.google.com len = 14944
    http://www.bing.com len = 80682
    http://www.google.com len = 14974
    http://www.bing.com len = 80682
    http://www.google.com len = 14989
    http://www.bing.com len = 80682
    http://www.google.com len = 14985
    http://www.bing.com len = 80682
    http://www.google.com len = 14964
    http://www.bing.com len = 80682
    http://www.google.com len = 14965
    http://www.bing.com len = 80682
    http://www.google.com len = 14902
    http://www.bing.com len = 80681
    http://www.google.com len = 15011
    http://www.bing.com len = 80682
    http://www.google.com len = 14904
    http://www.bing.com len = 80681
    http://www.google.com len = 15001
    http://www.bing.com len = 80682
    http://www.google.com len = 14948
    http://www.bing.com len = 80682
    

    【讨论】:

      猜你喜欢
      • 2019-12-05
      • 1970-01-01
      • 2019-11-18
      • 2021-10-04
      • 2021-09-06
      • 2021-12-01
      • 2021-05-18
      • 2020-09-08
      • 1970-01-01
      相关资源
      最近更新 更多