免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4031 | 回复: 14
打印 上一主题 下一主题

[C] 请教Linux 下C语言网络编程问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-11 17:19 |只看该作者 |倒序浏览
我是个刚学linux编程的新手,现在有这样一个程序需要实现:
程序需求:
一台PC机有网卡A以及网卡B
网卡A作为WAN口提供以下功能:
IP地址配置、子网掩码配置、网关配置、DNS配置。
网卡B作为LAN口提供DHCP Server功能,且网卡B的所有数据都经网卡A转发。
程序用C语言实现.
请问各位这个程序应该怎么写!

论坛徽章:
0
2 [报告]
发表于 2007-04-11 17:21 |只看该作者
这个不是用C来做的吧,这些都可以在LINUX下设置的

论坛徽章:
0
3 [报告]
发表于 2007-04-11 17:22 |只看该作者
我知道,但是现在要写一个程序实现ifconfig的功能以及nat的功能.

论坛徽章:
0
4 [报告]
发表于 2007-04-11 17:27 |只看该作者
好象ioctl可以对这个进行操作但是具体不知道该怎么实现,请各位不吝赐教!!

论坛徽章:
0
5 [报告]
发表于 2007-04-11 17:32 |只看该作者
类型  request           描述                数据类型
接口 SIOCGIFCONF   获取所有接口的列表 struct ifconf

       SIOCSIFADDR   设置接口地址 struct ifreq

      SIOCGIFADDR   获取接口地址 struct ifreq

     SIOCSIFFLAGS   设置接口标志 struct ifreq

    SIOCGIFFLAGS   获取接口标志 struct ifreq

    SIOCSIFDSTADDR 设置点到点地址 struct ifreq

   SIOCGIFDSTADDR 获取点到点地址 struct ifreq

   SIOCGIFBRDADDR   获取广播地址 struct ifreq

   SIOCSIFBRDADDR 设置广播地址 struct ifreq

   SIOCGIFNETMASK 获取子网掩码 struct ifreq

   SIOCSIFNETMASK 设置子网掩码 struct ifreq

   SIOCGIFMETRIC 获取接口的测度(metric) struct ifreq

   SIOCSIFMETRIC 设置接口的测度(metric) struct ifreq

论坛徽章:
0
6 [报告]
发表于 2007-04-11 17:51 |只看该作者
原帖由 zsj_0927 于 2007-4-11 17:19 发表
IP地址配置、子网掩码配置、网关配置、DNS配置。


这些可以通过IOCTL来实现, 其他的需求,例如B的所有frame都经过
网络A,可以通过 用代码这种ROUTE来实现。。


你的这些要求,其实就是用C语言来实现系统一些SHELL已经提供好的命令。

论坛徽章:
26
处女座
日期:2016-04-18 14:00:4515-16赛季CBA联赛之深圳
日期:2020-06-02 10:10:5015-16赛季CBA联赛之广夏
日期:2019-07-23 16:59:452016科比退役纪念章
日期:2019-06-26 16:59:1315-16赛季CBA联赛之天津
日期:2019-05-28 14:25:1915-16赛季CBA联赛之青岛
日期:2019-05-16 10:14:082016科比退役纪念章
日期:2019-01-11 14:44:062016科比退役纪念章
日期:2018-07-18 16:17:4015-16赛季CBA联赛之上海
日期:2017-08-22 18:18:5515-16赛季CBA联赛之江苏
日期:2017-08-04 17:00:4715-16赛季CBA联赛之佛山
日期:2017-02-20 18:21:1315-16赛季CBA联赛之天津
日期:2016-12-12 10:44:23
7 [报告]
发表于 2007-04-11 17:59 |只看该作者
我估计楼主还是想知道怎么在底层实现!

建议看Linux源代码!

论坛徽章:
0
8 [报告]
发表于 2007-04-11 19:25 |只看该作者
嗯,由于刚接触这个东西,确不知怎么在底层实现
linux源代码从那里下手会比较快?
或者有没有什么好的学习方法?

论坛徽章:
0
9 [报告]
发表于 2007-04-11 19:31 |只看该作者
Linux 的原始代码非常深奥,我极不推荐没有 5 年以上基于 Unix 平台实作经验的 C 语言程序员阅读该类代码。

论坛徽章:
0
10 [报告]
发表于 2007-04-11 19:42 |只看该作者
九楼的说的对,是很深奥的,我曾经刚进软件通信行业,刚接触linux半个月就想看懂源代码,说实在看的很吃力,不讨好!不过ioctl的原理和实现还是很简单的

[ 本帖最后由 epegasus 于 2007-4-11 19:44 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP