golang同時監(jiān)聽TCP、HTTP端口提供服務

項目入口 main.go 中,之前是監(jiān)聽 TCP 連接,代碼大致如下:

package main

import (
    "fmt"
    "net"
    "net/http"
)

func main() {
    http.HandleFunc("/hi", Router)

    go http.ListenAndServe("127.0.0.1:8080", nil)

    server, err := net.Listen("tcp", "127.0.0.1:9090")
    if err != nil {
        panic(err)
    }
    defer server.Close()

    for {
        conn, err := server.Accept()
        if err != nil {
            continue
        }
        go handleConn(conn)
    }
}

func Router(resp http.ResponseWriter, request *http.Request) {
    resp.Write([]byte("hello world"))
}

func handleConn(conn net.Conn) {
    fmt.Println(conn.RemoteAddr().String())
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,681評論 1 32
  • TCP/IP層發(fā)送數(shù)據(jù)的應用場景 大多數(shù)情況下,使用更高級別的網(wǎng)絡(luò)協(xié)議毫無疑問會更好,因為可以使用華麗的API, ...
    Jancd閱讀 2,652評論 0 3
  • 二月七日,今天去大良拜年,回家的時候我發(fā)現(xiàn)在金海岸那邊那條路修好了,發(fā)現(xiàn)時間過得好快,而且那些工人的效率也好高我記...
    梁樂暉201701閱讀 153評論 0 0
  • 他的情人醫(yī)術(shù)高明,卻不識人心。他用五年騙得他的心,卷款逃走,不料半途遭遇車禍成了植物人,模糊中聽見熟悉的聲音為他讀...
    洞庭府君閱讀 639評論 0 4
  • 蔡崇達丨莫讓這皮囊的重量拖住了你的靈魂…… 對著屏幕,發(fā)了半天的呆,卻是半個字也寫不出來。其實,自己要求自己每天寫...
    書影流光閱讀 981評論 8 14

友情鏈接更多精彩內(nèi)容