go监听多个端口
时间: 2023-07-19 09:05:50 浏览: 36
你可以使用 Go 的 `net` 包来监听多个端口。下面是一个示例代码:
```go
package main
import (
"fmt"
"net"
)
func handleConnection(conn net.Conn) {
// 处理连接的代码
}
func main() {
// 监听端口 8000
listener1, err1 := net.Listen("tcp", ":8000")
if err1 != nil {
panic(err1)
}
// 监听端口 9000
listener2, err2 := net.Listen("tcp", ":9000")
if err2 != nil {
panic(err2)
}
// 循环等待连接
for {
// 接受端口 8000 的连接
conn1, err := listener1.Accept()
if err != nil {
panic(err)
}
// 接受端口 9000 的连接
conn2, err := listener2.Accept()
if err != nil {
panic(err)
}
// 开启两个协程分别处理连接
go handleConnection(conn1)
go handleConnection(conn2)
}
}
```
上述代码会同时监听端口 `8000` 和 `9000`,并使用两个协程分别处理连接。你可以根据需要修改端口号和处理连接的代码。