在 Go 中,net.Listen("tcp", "127.0.0.1:9090")沒有滿足任何需求?為什么我們還有net.ListenTCP("tcp", localAddress)?我認為它們在實作上非常相似。
uj5u.com熱心網友回復:
該監聽功能是通過一個共同的抽象ListenTCP和ListenUnix。Listen 函式回傳協議特定的偵聽器型別作為偵聽器介面。
Listen 還提供了將字串地址轉換為 ListenTCP 和 ListenUnix 所需的特定地址型別的額外便利。
如果您手頭有TCPAddr或需要使用在Listener介面上不可用的TCPListener方法,請使用 ListenTCP 。
uj5u.com熱心網友回復:
net.Listen()回傳一個介面net.Listener,只保證它支持以下方法:Accept(),Close()和Addr()。
net.ListenTCP()回傳*net.TCPListener支持上述三種方法的型別,因此(鴨子型別)它支持net.Listener介面。但是,它還支持更多特定于 TCP 的功能,并且可以控制連接接受的低級方面。設定之類的東西SetDeadline()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/347809.html
標籤:走
