小编Myk*_*nko的帖子

了解gometalinter的警告:conn可以是io.Reader/io.Writer

用gometalinter检查后这部分代码:

//ListenerButton is hanging listeners for contact button
func ListenerButton(number int, button *ui.Button, conn net.Conn) string {
    button.OnClicked(func(*ui.Button) {
        sliceMembers := []string{login, button.Text()}
        groupName = login + button.Text()
        _, err := conn.Write([]byte(JSONencode(login, "", "",
            0, groupName, 1,
            login, sliceMembers, " ", " ", "",
            " ", " ", " ", true, " ", "CreateGroup")))
        if err != nil {
            log.Println(err)
        }
        fmt.Println(login, groupName, number, "graphic 131")
    })
    return groupName
}
Run Code Online (Sandbox Code Playgroud)

我有这个警告:

warning: conn can be io.Writer (interfacer)
Run Code Online (Sandbox Code Playgroud)

它是什么意思以及我如何解决它?

io go

5
推荐指数
1
解决办法
158
查看次数

如何在Docker容器中调用公共地址时解决拨号TCP I / O超时问题?

我正在设置一个新的容器“ A”,它正在从容器“ B”调用某些终结点。为什么这些电话总是返回dial tcp 116.203.153.48:8082: i/o timeout

来自容器“ A”的呼叫正在使用公共IP。所有容器都部署在CentOS 7上。每个容器都有自己的网络,该网络中有自己的数据库。另外,返回错误的调用可以从任何REST-API客户端(例如Postman)正常工作。resolv.conf文件中的名称服务器已更改为Google的8.8.8.8和8.8.4.4

错误: error="Post http://116.203.153.48:8082/new_user?email=eto@email.com: dial tcp 116.203.153.48:8082: i/o timeout"

从程序中调用:

req, err := http.NewRequest(http.MethodPost, fmt.Sprintf("http://116.203.153.48:8082/new_user?email=%s", user.Email), nil)
    if err != nil {
        return err
    }
    httpClient := &http.Client{}
    resp, err := httpClient.Do(req)
    if err != nil {
        return err
    }
Run Code Online (Sandbox Code Playgroud)

UPD:

Docker-组成第一个容器:


  payment-ms:
    container_name: payment-ms
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      - DB_HOST=payment-ms-db
    ports:
      - 8082:8082

Run Code Online (Sandbox Code Playgroud)

第二个容器的Docker-compose文件:

user-ms:
    container_name: user-ms
    build:
      context: .
      dockerfile: Dockerfile
    environment: 
      - DB_HOST=user-ms-db
    ports: …
Run Code Online (Sandbox Code Playgroud)

tcp centos go docker

5
推荐指数
1
解决办法
231
查看次数

标签 统计

go ×2

centos ×1

docker ×1

io ×1

tcp ×1