C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代。由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱,并逐渐 淘汰了很多其它程序设计语言。我们平时使用的大多数软件都是用C语言开发的。很多后来出现的一些语言也沿用了很多它的东西。C语言的编程方式是一种称为面 向过程的开发方式。也就是说,解决问题的时候,程序员需要思考计算机应该如何一步一步完成这个问题,然后将相应过程转化为代码。
当软件变得越来越复杂,代码越来越长的时候,一个人的脑力有限,用面向过程的方法很难开发,往往写
大家注意,在VC中进行WINSOCK编程时,需要引入如下两个库文件:WINSOCK.H(这个是WINSOCK API的头文件,WIN2K以上支持WINSOCK2,所以
可以用WINSOCK2.H);Ws2_32.lib(WINSOCK API连接库文件).
使用方式如下:
#include
#pragma comment(lib,”ws2_32.lib”)
下面我们通过具体的代码演示服务器和客户端的工作流程:
首先,建立一个WSADATA结构,通常用wsaData
WSADATA wsaData;
然后,调用WSAStartup函数,这个函数是连接应用程序与winsock.dll的第一个调用.其中,第一个参数是WINSOCK 版本号,第二个参数是指向
WSADATA的指针.该函数返回一个INT型值,通
下面介绍网络7层协议在WINDOWS的实现:
7层协议 WIN系统
________________________________________
7 应用层 7 应用程序
________________________________________________
6 表示层 6 WINSOCK API(DLL)
___________________________________________
5 会话层 5 SPI(DLL)
__________________________________________________
4 传输层 4 TDI(VXD,SYS)
___________________________________________________
3 网络层 3 NDIS(VXD,SYS)
__________________________________________________
2 数据链路层 2 网卡驱动程序(VXD,SYS)
___
第一节 了解Windows机制
Windows 是一个“基于事件的,消息驱动的”操作系统。
在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动、单击鼠标等)该动作就会触发一个相应的“事件”
系统每次检测到一个事件时,就会给程序发送一个“消息”,从而使程序可以处理该事件。
每个Windows 应用程序都是基于事件和消息的,而且包含一个主事件循环,它不停地、反复地检测是否有用户事件发生。每次检测到一个
用户事件,程序就对该事件做出响应,处理完再等待下一个事件的发生。
Windows 下的应用程序不
int main()
{
_asm{
push ebp
xor eax,eax
push eax
mov byte ptr [esp],0x6c//”l”
mov byte ptr [esp+1],0x6c//”l”
push 0x642e3233; // “32.d”
push 0×72657375 //”user”
mov eax,esp
push eax
//mov ebx,0x7C801D77 xp sp2
mov dword ptr[ebp-1Eh],0xBECAE1CC // “提示”
mov byte ptr[ebp-1Ah],0×00
lea esi,[ebp-1Eh]
mov dword ptr[ebp-10h],0xE7D2BAA3
mov dword ptr[ebp-0Ch],0xC9B3F6B3
mov dword ptr[ebp-08h],0xA1A3A6B9 //报告泉哥:溢出成功!
mov byte ptr[eb
API学习经验之谈___1
问题1____句柄
相信这个”东西”足以让各位朋友郁闷很长一段实际在”云里雾里”中。
其实,这是一个最不足以让你去深究的东西,先听听”大师级人物”(个人认为)罗云彬老师在<>(好书啊!~_~)一书中对它的定义:
句柄只是一个数值而已,它的值对程序来说是没什么有意义的,它只是Windows用来表示资源的编号而已,所以只有Windows才知道怎么使用它来引用各种资源!
明白了吗?(鬼才明白~_~!)
好,举例来说,屏幕上已经有10个窗口,Windows把他们从1道10编号,应用程序又建立了一个窗口,现在Windows把它编号位11,然后把11当做
近期评论