golang 可以监听多个端口吗
3个回答
2016-05-31
展开全部
由于linux的socket监听机制和TCP协议,多个进程无法监听同一个端口,但是具体到nginx,可以多个nginx进程监听到不同端口,通过一个主进程端口做upstream来实现负载均衡,这个有点类似于网络的汇聚,可以设置不同的策略,比如iphash,urlhash或者RR。
展开全部
您好,很高兴能帮助您,连接OpenVPN在配置好.ovpn文件后,执行openvpn/etc/***.ovpn即可连接服务器了。注意,上面的参数应该换成你的配置文件实际位置。此时,终端会回显很多连接日志。如果连接不成功,则可以通过这些日志来确定出错位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package main
import (
"fmt"
"log"
"net"
"bufio"
"io"
)
func handleConnection(conn net.Conn) {
br := bufio.NewReader(conn)
for{
data, err := br.ReadString('\n')
if err == io.EOF{
break
}
fmt.Printf("%s", data)
fmt.Fprintf(conn, "OK\n")
}
conn.Close()
}
func main() {
ln, err := net.Listen("tcp", ":8092")
if err != nil {
panic(err)
}
for {
conn, err := ln.Accept()
if err != nil {
log.Fatal("get client connection error: ", err)
}
go handleConnection(conn)
}
}
import (
"fmt"
"log"
"net"
"bufio"
"io"
)
func handleConnection(conn net.Conn) {
br := bufio.NewReader(conn)
for{
data, err := br.ReadString('\n')
if err == io.EOF{
break
}
fmt.Printf("%s", data)
fmt.Fprintf(conn, "OK\n")
}
conn.Close()
}
func main() {
ln, err := net.Listen("tcp", ":8092")
if err != nil {
panic(err)
}
for {
conn, err := ln.Accept()
if err != nil {
log.Fatal("get client connection error: ", err)
}
go handleConnection(conn)
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询