Skip to content

The way to determine tcp/unix may be not so right. #1

@ckrissun

Description

@ckrissun

Take a look at this:

  n := "tcp"
  if strings.Contains(cfg.Addr, "/") {
      n = "unix"
  }

When cfg.Addr equals to ./server.sock, everything is ok. But what happen when cfg.Addr is server.sock? Absolutely, something goes wrong.

I notice that, when net.ResolveTCPAddr returns an error, then we can say cfg.Addr is a unix address

  n := "tcp"
  if _, err := net.ResolveTCPAddr("tcp", cfg.Addr); err != nil {
      n = "unix"
  }

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions