免费注册 查看新帖 |

Chinaunix

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

uClinux下的网络编程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-27 19:46 |只看该作者 |倒序浏览
刚学uclinux,用的周立功arm2200开发板,他上面的uclinux实验基本上我都试过。但是我现在想做一个完善的网络编程。上位机做一个服务器软件,可以对移植uclinux的开发板设置ip,也可以设置他dhcp,自动获取ip,在tcp连接时,可以是直连,也可以是通过socket代理连接,还可以实现dns功能。
找了好多资料,都没有详细介绍这方面的,介绍网络编程的都是如何建立socks,如何连接绑定什么的,哪位大大知道我说的这些功能要怎么实现啊,有什么资料书里面是讲解了这方面的啊?

论坛徽章:
0
2 [报告]
发表于 2009-09-27 22:59 |只看该作者
直接作一个web server多好阿

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
3 [报告]
发表于 2009-09-28 10:40 |只看该作者
做个支持cgi的web服务就可以了

论坛徽章:
0
4 [报告]
发表于 2009-09-28 12:49 |只看该作者
可能是我没表述清楚,我是想让开发板根据我的设置自动判断是使用固定ip还是使用dhpc获取ip,若是dhcp,如何实现这个功能;获取到ip后,连接服务器,这个服务器是个软件,非web,所以用的是tcp的socket连接,而非http连接,而且使用的是socks5代理,因此我不是想实现web功能,我是想实现dhcp和使用代理访问网络功能,还有就是装有哦服务器软件的电脑可以配置域名,所以还想实现dns功能

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
5 [报告]
发表于 2009-09-28 14:24 |只看该作者
可以自己实现一个

system("ifconfig eth0 0.0.0.0 up");
        status = system("udhcpc -t 1 -n");

一般dhcp可以这么连接
设置ip的话


  1. int socket_set_ipaddr(char* ipadd)
  2. {
  3.     int sockfd;
  4.     struct ifreq    ifr;
  5.     struct sockaddr_in *sin;

  6.     ASSERT(NULL != ipadd);


  7.    
  8.     if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
  9.     {

  10.         return -1;
  11.     }

  12.     memset(&ifr, 0, sizeof(ifr));
  13.     strncpy(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name)-1);
  14.     sin = (struct sockaddr_in *)&ifr.ifr_addr;
  15.     sin->sin_family = AF_INET;

  16.     if (inet_pton(AF_INET, ipadd, &sin->sin_addr) <= 0)  // fix: change from < to <= for invalid ipAddr input
  17.     {

  18.         return -1;
  19.     }

  20.     if(ioctl(sockfd, SIOCSIFADDR, &ifr) < 0)
  21.     {
  22.                return -1;
  23.     }

  24.     close(sockfd);
  25.     return 0;   
  26. }
复制代码

论坛徽章:
0
6 [报告]
发表于 2009-09-29 12:36 |只看该作者
3Q for 5楼,意思我明白了。
我现在用的2.4的内核,那需要配置那个功能啊,有好几个dhcp的:dhcpd,dhcpcd,dhcp-isc。。。还有的忘记了
代理我大概清楚了,自己在编程出来就可以,
还有个问题就是dns要怎么实现呢?

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2015-02-04 12:00:07羊年新春福章
日期:2015-02-04 11:57:56双子座
日期:2014-12-02 11:44:59金牛座
日期:2014-10-08 16:47:08狮子座
日期:2014-08-29 13:37:46巳蛇
日期:2014-08-26 17:32:29NBA常规赛纪念章
日期:2015-05-04 22:32:03
7 [报告]
发表于 2009-09-30 15:47 |只看该作者

回复 #1 delpro 的帖子

永远的Unix上有详细的代码例程,楼主可以去参照下

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2009-10-11 22:29 |只看该作者
用dhcpcd,我试过了,有好几个选项,但是在2.4上只有dhcpcd(2.0new)可以使用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP