80端口占用,多端口监听和各端口各干各的事务

图片 1

2. 显示端口占用情状

图片 2

端口占用情状

func handler2(writer http.ResponseWriter, request *http.Request) { fmt.Fprintln(writer, "你想做什么就做什么吧!")}func handler1(writer http.ResponseWriter, request *http.Request) { fmt.Fprintln(writer, "Hello,Moon!")}

1.netstat -ano|findstr 8080

叁. 开拓职分管理器,根据PID,找到呼应进度,停止进度

图片 3

得了对应进度

后来,再开发银行项目,端口就足以健康使用了。

ports := []string{":25000",":25001"}

2.taskkill /f /t /im 597448

项目运维时,端口占用报错

package mainimport ( "fmt" "net/http")func main() { ports := []string{":25000",":25001"} for _,v := range ports { go func(port string) { //把端口都放入goroutine监听 mux := http.NewServeMux() switch port { case ":25000": { mux.HandleFunc("/", handler1) } case ":25001": { mux.HandleFunc("/", handler2) } } http.ListenAndServe(port, mux) } } select { }}func handler2(writer http.ResponseWriter, request *http.Request) { fmt.Fprintln(writer, "你想做什么就做什么吧!")}func handler1(writer http.ResponseWriter, request *http.Request) { fmt.Fprintln(writer, "Hello,Moon!")}

IDEA切换项目时,要是前二个品类处于调试和周转情状,8080端口将被占据,处理如下:

图片 4

然后,须求对这一个个端口都开始展览监听。那就须要遍历了。使用for循环吧。

消除步骤

在那么些轮回里,使用三个switch来会诊,当前的端口号是稍稍,然后区别的端口号去实践分裂的函数
handler一和handler二。那四个须要进行的函数就不难一点呢。表明难题就行。

壹. 开辟命令行

C:>netstat -aon|findstr "80"

1个打字与印刷出汉语,多少个打字与印刷出英文。(问候作者最最欣赏的)未来是无力回天平时运行的,因为for循环执行到位后,程序就会活动关闭退出了。所以在后面再加贰个空的select,让它能够一直运营下去。

选取Vue官方脚手架运维项目劳务时,会暗中同意占用80(若是你改改到了任何端口,同样的秘籍化解)端口。符合规律处境下,ctrl+c结束劳动时,对80端口的占用也会活动清除。
而是,有时也会因为有个别原因(比如自身要好的微型总括机,于今没找到原因),关闭vue服务时候,80端口照旧显示被挤占。

看一下整机代码

for _,v := range ports { go func(port string) { //把端口都放入goroutine监听 mux := http.NewServeMux() switch port { case ":25000": { mux.HandleFunc("/", handler1) } case ":25001": { mux.HandleFunc("/", handler2) } } http.ListenAndServe(port, mux) } }

图片 5端口25001图片 6端口25000

明天就足以运作了三个端口的报告,是例外的。

 select { }

三个行使不会只做1件工作,或只实现八个任务。平常是既要显示WEB页面,也要做长链接,也许您还同时要求给手提式有线电话机端提供数据服务。那么,笔者索要在三个应用服务端,达成同时为多少个请求的政工服务。那么些劳务普通是不在一个端口达成的。利用go语言的端口监听和协程,完成一下这一个。建立一个品类,假使大家须要拜访的端口有多个:2伍仟,2500一。小编在main中先写叁个数组,承载那四个端口。当然,你能够写越来越多的内需监听的端口进去。

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注