知識社群登入
位置: 艾鍗學院 Blog > 專業論壇 > 討論
linux NetLink
1樓
想請問透過NetLink與kernel接收資料的目的是什麼??

因為看code內只開了socket窗口(socket( AF_INET, SOCK_DGRAM, 0 )),卻沒有後續bind..等等動作

那怎麼跟外部接收傳遞資料呢??
2樓


NETLINK 一種作為user space 和 kernel space 間交換資料的一種機制
當然你也可以用ioctl(2), read(2), write(2) ..
只是system call overhead.比較高
NETLINK 實作成socket 的樣子, 在kernel space 你可以掛一個server
,user space 為clinet ,透過NETLINK socket 就可以讓你兩邊互傳資料.



>> 因為看code內只開了socket窗口(socket( AF_INET, SOCK_DGRAM, 0 )),卻沒有後續bind..等等動作

bind() 要看你要做什麼目的.
 除了點出問題外, 建議阿安能貼完整程式碼,如此大家在版上比較容易討論與彼此學習交流