任何人都可以幫助我跟蹤bind()
系統調用套接字編程。我想知道在內核空間中調用bind()
時會發生什麼。類似於哪些是它更新的結構和在較低級別調用哪些功能如何綁定在內核空間內部工作?
0
A
回答
0
bind(2)
系統調用只是配置套接字在連接(或sendto(2)
)後使用的本地端的地址參數。如果您不使用它,內核會根據底層協議爲其選擇默認值。
bind(2)
如下的具體程序取決於協議族你工作,如綁定將不同的表現,如果你使用的是PF_UNIX
,PF_INET
,PF_PACKET
,PF_XNS
等
例如依賴,在Unix套接字,你會得到你的套接字與文件系統中的inode(當然是支持unix套接字的inode)關聯,所以客戶端有一個連接路徑(在Unix套接字中,地址是文件系統中的路徑)。在TCP/IP套接字中,您可以修復套接字可以偵聽的本地IP地址或本地IP端口(以接受連接),也可以強制IP地址和/或端口從服務器連接。
對於網絡插座內部有更深的瞭解,我建議你從W.R.史蒂文斯閱讀優秀圖書「TCP/IP詳解卷2,實施」描述NET2 BSD套接字的實現。這是舊的,但仍然是有史以來最好的解釋。爲了很好地介紹BSD套接字系統調用的使用,WRStevens還提供了一本優秀的書籍(很長一段時間它確實也是BSD unix系統調用的最佳系統調用參考):「UNIX network programming,Vol 1( 2ND Ed):套接字API。「兩個人都應該在工作中有兩個珠寶。
相關問題
- 1. asp.net捆綁如何在內部工作
- 2. 在內核空間和用戶空間中工作
- 3. GPU中的內存綁定內核和計算綁定內核
- 4. Linux內核的copy_from_user如何在內部工作?
- 5. 在內核空間如何訪問內核參數
- 6. a.out內核空間
- 7. 取在內核空間
- 8. 內核如何檢測內核空間段錯誤?
- 9. _ftime/Windows內部時間如何工作?
- 10. 如何從內核空間獲取sockfd?
- 11. strstr在內核空間中工作不正常
- 12. 如何在ng-repeat內部綁定html?
- 13. Linux內核空間和用戶空間
- 14. Ninject內核綁定覆蓋
- 15. 在linux內核(內核空間)中檢索會話Id
- 16. 如何回調從用戶空間保持到內核空間
- 17. 如何從空間和內核空間打印調試
- 18. 如何從用戶空間訪問內核空間?
- 19. Linux內核 - 從用戶空間停止正在運行的內核定時器
- 20. UserControl內部綁定
- 21. 多線程內核如何工作?
- 22. 內核熵池如何工作?
- 23. 如何找出內核是內存綁定還是計算綁定?
- 24. 如何從Linux內核訪問用戶空間內存?
- 25. 內存分配內核空間和用戶空間進程
- 26. 如何在內核空間中設置rtc時間?
- 27. 如何獲取內核空間中特定元素的大小
- 28. Linux內核:從內核空間調用用戶空間的回調函數
- 29. 在內核空間的動態分配
- 30. 在內核空間調用NtQuerySystemInformation
請勿追蹤。看看消息來源。 –
您可能會喜歡查看[瞭解Christian Benvenuti的Linux Network Internals](http://shop.oreilly.com/product/9780596002558.do)。 –