有没有人知道在Linux的内核环境中如何访问网络

zdhzidy 2006-07-28 04:00:51
如题,比如我的一个内核驱动想要把一些数据写到网络上的一台服务器上,有什么好的方法??
...全文
338 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jammyxu 2006-08-01
  • 打赏
  • 举报
回复
直接參照網卡驅動的sourcecode寫。

或者內核只負責把要發送的數據寫在某個buffer或log文件中﹐由應用程序來完成網絡通訊
zdhzidy 2006-08-01
  • 打赏
  • 举报
回复
应该可以用kernel_sendmsg(),kernel_recvmsg(),正在试验中。。。。。。。。。。
slone 2006-08-01
  • 打赏
  • 举报
回复
sock_sendmsg sock_recvmsg 是没有用户空间的啦, 不过使用之前要写几行代码
zdhzidy 2006-08-01
  • 打赏
  • 举报
回复
jammyxu
网卡驱动层次太低,那个时候还没有tcp/ip的概念,回到用户层发送数据是一个办法,不过实现起来软件层次过多,当发送数据量太大的时候效率可能是问题。

直接用sys_socket是不行,这个函数使用的缓冲区需要是一个用户层的空间,直接传一个内核空间给他应该要出问题。

顶起来大家继续研究。谢了先。
zdhzidy 2006-07-29
  • 打赏
  • 举报
回复
继续研究中,肯定是可以访问网络的,只是还没有找到方法:)
slone 2006-07-28
  • 打赏
  • 举报
回复
也不是不行啊,跨过Clib 来,直接用内核函数调用,sys_socket() 来创建内核的socket 接口,仔细看看 net/socket.c 没准是可以的啦
zdhzidy 2006-07-28
  • 打赏
  • 举报
回复
道理是这样-0- 不过通过什么发??socket??在内核中socket可以用吗??这些问题不是确实不是很清楚
bekars 2006-07-28
  • 打赏
  • 举报
回复
什么意思,写个发包程序,发过去
zdhzidy 2006-07-28
  • 打赏
  • 举报
回复
自己顶一下:)

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧