- 博客(5)
- 收藏
- 关注
原创 用Raw socket自己构造数据包头部
一、原始套接字的创建 只有超级用户才能创建原始套接字。int sockFd;sockFd = socket(AF_INET, SOCK_RAW, protocol); 其中第3个参数protocol是形如IPPROTO_xxx的某个常值,在头文件中定义,经常不为0。 原始套接字不存在端口号的概念。
2012-02-29 21:01:30 10817 1
原创 socket编程概述
一、套接字地址结构 说套接字编程,第一个就是套接字地址结构。通用的套接字地址结构定义如下:#include struct sockaddr{ uint8_t sa_len; sa_family_t sa_family; // address family : AF_XXX char sa_data[14];};
2012-02-29 15:53:19 798
原创 C++ : static关键字
自C语言以来,static就是个容易让人迷惑的关键字,因为根据使用场合的不同,它表示两种差别甚远的意义。 《C和指针》一书给出精要的解释:用于函数定义,或者用于代码块之外的变量声明 表示修改标识符的链接属性,从external改为internal。但标识符的存储类型和作用域不受影响。用这种方式声明的函数或变量只能在声明它们的源文件中访问。当sta
2012-02-29 15:51:55 564
原创 vim使用笔记
一、vim还是emacs vim还是emacs? java还是C++? qt还是gtk? 争论是毫无意义的,谁好谁坏,孰对孰错,本没有绝对的标准。适合你的就是最好的。学习要快乐,不要纠结。 有一段时间听说emacs下有个写wiki的mode很方便,我也试着用了下emacs,但最终还是选择了vim。主要是两方面的原因:一、我先遇到vim。“正因为你为你的玫瑰花费了
2012-02-22 15:36:53 846
原创 struct关键字在C和C++中使用时的一点区别
很多同学在初学socket编程的时候,编译书上的第一个例子程序都会遇到这样一个问题,明明头文件都包含了,为什么编译总是报错:'sockaddr_in' undeclared'sockaddr' undeclared. 原因如下: 如果用gcc client.c -o client -Wall编译,则 struct sockadd
2012-02-02 12:44:18 1567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人