getsockname的使用
生活随笔
收集整理的這篇文章主要介紹了
getsockname的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
getsockname可以獲得一個與socket相關(guān)的地址,服務(wù)器端可以通過它得到相關(guān)客戶端地址,而客戶端也可以得到當(dāng)前已連接成功的socket的ip和端口。
第二種情況在客戶端不進(jìn)行bind而直接連接服務(wù)器時,而且客戶端需要知道當(dāng)前使用哪個ip進(jìn)行通信時比較有用(如多網(wǎng)卡的情況)。
筆者分別通過TCP和UDP協(xié)議進(jìn)行測試,測試結(jié)果表明:
對于TCP連接的情況,如果不進(jìn)行bind指定IP和端口,那么調(diào)用connect連接成功后,使用getsockname可以正確獲得當(dāng)前正在通信的socket的IP和端口地址。
而對于UDP的情況,無論是在調(diào)用sendto之后還是收到服務(wù)器返回的信息之后調(diào)用,都無法得到正確的ip地址:使用getsockname得到ip為0,端口正確。
總結(jié)
以上是生活随笔為你收集整理的getsockname的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为LTE 模块AT 命令拨号上网流程
- 下一篇: C语言中函数可变参数解析