TL;DR 在使用 Golang 編寫 TCP/UDP socket 的時候,第一步做的就是地址解析。
創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元閩清做網(wǎng)站,已為上家服務(wù),為閩清各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
該函數(shù)返回的地址包含的信息如下:
TCPAddr 里, IP 既可以是 IPv4 地址,也可以是 IPv6 地址。 Port 就是端口了。 Zone 是 IPv6 本地地址所在的區(qū)域。
從返回結(jié)果看該函數(shù)的參數(shù), network 指 address 的網(wǎng)絡(luò)類型; address 指要解析的地址,會從中解析出我們想要的 IP , Port 和 Zone 。
從源碼中可以看出,參數(shù) network 只能是如下四個值,否則會得到一個錯誤。
解析過程跟 ResolveTCPAddr 的一樣,不過得到的是 *UDPAddr 。
UDPAddr 包含的信息如下:
PUSH指令主要用于編寫子程序和中斷服務(wù)程序,可以臨時保存程序狀態(tài)字PSW和累加器ACC的內(nèi)容 或其它寄存器和存儲器單元的內(nèi)容。
在子程序和中斷服務(wù)程序結(jié)束返回主程序前,要用POP彈棧指令,從堆棧中取出被保護(hù)的數(shù)據(jù),恢復(fù)程序狀態(tài)字PSW和累加器ACC的內(nèi)容 或其它寄存器和存儲器單元的內(nèi)容。
呵呵 滿意 就選滿意回答啊
安裝:
go get -v -u github.com/rocket049/connpool
go get -v -u gitee.com/rocket049/connpool
rocket049/connpool 包是本人用go語言開發(fā)的,提供一個通用的TCP連接池,初始化參數(shù)包括最高連接數(shù)、超時秒數(shù)、連接函數(shù),放回連接池的連接被重新取出時,如果已經(jīng)超時,將會自動重新連接;如果沒有超時,連接將被復(fù)用。
可調(diào)用的函數(shù):
調(diào)用示例: