Chinaunix首页 | 论坛 | 博客
  • 博客访问: 426234
  • 博文数量: 47
  • 博客积分: 1669
  • 博客等级: 上尉
  • 技术积分: 585
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-04 23:27
文章分类

全部博文(47)

文章存档

2011年(23)

2010年(24)

分类: LINUX

2010-11-06 21:40:35

    以前不懂socket,就只有一个劲学,一个劲“抄袭”书上的例子。把例子一步一步调试,一步一步看所有的参数的变化。抄的多了,调试过后,发现socket编程不过就是这样,一下明了不少。
 
    最开始建立的套接字都是SOCK_STREAM或者SOCK_DGRAM,这里边主要用到的几个函数,已经全部都熟悉了,自己也写了相关的程序证实其功能。从简单的服务器-客户端程序,到并发的服务器程序,都写过一遍。然后自己再写了一个通用的可以同时建立TCP以及UDP的程序,小有成就感。
   
    然后开始用原始套接字编程,原始套接字当中发现了不少问题。首先就是包头的组建,里边不少地方用到了htons,htonl,inet_addr等一系列函数,头大啊,这些函数怎么工作的,看上去怎么都这么抽象呢?IP投里边那些部分需要用到htons?差不多理清了,又发现问题了。在编写UDP的原始套接字时,用recvfrom函数,得到的发送端的地址端口始终为0。。。。终究还算是克服了这些问题,写了一个简单的抓包软件,我相信这对很多哥们来说算是非常easy的吧。不过我真费工夫了,还好,学到不少。
 
    记下这些,只想告诉自己,不要害怕困难,你走过去,它自然就低头了!加油!
阅读(2559) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-07 19:06:11

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com