任何人都可以幫助我跟蹤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. Linux內核的copy_from_user如何在內部工作?
- 4. a.out內核空間
- 5. 取在內核空間
- 6. _ftime/Windows內部時間如何工作?
- 7. 如何從內核空間獲取sockfd?
- 8. strstr在內核空間中工作不正常
- 9. 如何在ng-repeat內部綁定html?
- 10. Ninject內核綁定覆蓋
- 11. 如何從用戶空間訪問內核空間?
- 12. 如何從空間和內核空間打印調試
- 13. 多線程內核如何工作?
- 14. 內存分配內核空間和用戶空間進程
- 15. Linux內核:從內核空間調用用戶空間的回調函數
- 16. 在Linux內核空間執行程序
- 17. createNewFile如何在內部工作?
- 18. JS Promises如何在內部工作?
- 19. PHP PDO如何在內部工作?
- 20. java ConcurrrentHashMap如何在內部工作?
- 21. Groovy封閉如何在內部工作?
- 22. plt.gca如何在內部工作
- 23. ASP.NET路由如何在內部工作?
- 24. QProcess如何在Linux內部工作?
- 25. ant任務如何在內部工作?
- 26. HibernateTemplate如何在內部工作
- 27. cairngorm框架如何在內部工作
- 28. 「adb reboot bootloader」如何在內部工作?
- 29. spark的HiveContext如何在內部工作?
- 30. 數據庫如何在內部工作?
請勿追蹤。看看消息來源。 –
您可能會喜歡查看[瞭解Christian Benvenuti的Linux Network Internals](http://shop.oreilly.com/product/9780596002558.do)。 –