自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

转载 select函数详解及应用

 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞

2009-03-29 20:29:00 10698 10

转载 判断数组元素是否重复

 判断数组元素是否重复          要求:判断一个数组中是否存在相同的元素,如果存在相同的元素则输出“重复”,否则输出“不重复”。          该题中如果需要判断数组中元素是否重复,则需要对数组中的元素进行两两比较,如果有任意一组元素相等,则该数组中的元素存在重复,如果任意一组元素都不想等,则表示数组中的元素不重复。          实现思路:假设数组中的元素不重复,两两比较数组中的

2009-03-29 20:23:00 16869

原创 sizeof()

这是初学者问得最多的一个问题,所以这里有必要多费点笔墨。让我们先看一个结构体:  struct S1  {  char c;  int i;  };  问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结果为

2009-03-29 20:21:00 619

转载 编程修养(推荐阅读)

 编程修养      什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。

2009-03-29 19:47:00 714

转载 堆和栈的区别

 最近太过执着于一些底层概念,《堆和栈的区别》这篇经典的博文已经被转载过N次,但还是转到这里,以方便日后查阅。谨对原创表示感谢!一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结

2009-03-29 19:43:00 902 1

原创 const用法详解

const用法详解面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1. 限定符声明变量只能被读   const int i=5;   int j=0;   ...   i=j;   //非法,导致编译错误   j=i;   //合法2. 必须初始化   const int

2009-03-29 19:28:00 468

转载 (转)程序员每天应做的事

程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那

2009-03-29 19:24:00 666

原创 解析IP数据包

 //#include "stdafx.h"#include "winsock2.h"#include "ws2tcpip.h"#include "iostream.h"#include "stdio.h"typedef struct _IP_HEADER{ union {  BYTE Version;//版本  BYTE HdrLen;//IHL }; BYTE ServiceType;//服务

2009-03-20 08:31:00 7466 4

原创 解析ARP数据包

 //#include#pragma comment(lib,"Ws2_32.lib");//#pragma comment(lib,"wpcap.lib");#pragma comment(lib, "wpcap.lib");#include "pcap.h"#include #include #include #include  "remote-ext.h " struct arppk

2009-03-20 08:26:00 3517 1

原创 模拟Ethernet帧的发送

// Ethernet.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "Ethernet.h"//#include "CSMA030390.h"#include "cmath"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS

2009-03-20 08:23:00 3599 3

原创 使用Winpcap函数库wpcap.lib的步骤及实例

 1 安装驱动程序 下载winpcap driver和Dll 安装,安装后重启机器 2 下载wpdpack.解压后会看到其中包含docs,Include,lib.Examples等文件夹. 3 在VC中设定Include 目录及Library目录具体做法是,打开VC,点击Tools->Option->Directories.在include files中添加....../wpdpack/I

2009-03-15 09:34:00 6761

原创 基于winpcap的程序

#include "pcap.h"#include /* void main()//取得网络设备列表{ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; //取得网络设备列表 if(pcap_findalldevs(&alldevs,errbuf)==-1) {  fprintf(stderr,"Er

2009-03-15 09:31:00 1576 2

原创 c++网络编程常用的函数

1. int pcap_findalldevs(pcap_if_t **, char *)说明:用来获得网卡的列表入口参数:指向pcap_if_t**类型的列表的指针的指针pcap_if_t 是pcap_if 重命名而来:typedef struct pcap_if pcap_if_t;pcap_if结构体如下:struct pcap_i

2009-03-14 08:56:00 1750

ucos ii - 嵌入式系统 邵贝贝

这本书很不错,值得研究,有空的时候希望大家多看看啊

2010-03-13

C++实践之路和练习

这本书适合有一定C++基础和正在学习C++的员。仔细看啊,一定会有收获的。

2009-02-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除