代码改变世界

随笔档案-2011年06月

[收集] SendMessage、PostMessage原理

2011-06-30 16:25 by 彭白洋, 437 阅读, 收藏,
摘要: 本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:1、SendMessage、PostMessage的运行机制。2、SendMessage、PostMessage的运行内幕。3、SendMessage、PostMessage的内部实现。注:理解这篇文章之前,必须先了解Windows的消息循环机制。1、SendMessage、PostMessage的运行机制我们先来看最简单的。SendMessage可以理解为,SendMessage函数发送消息,等待消息处理完成后,SendMessage才返回。 阅读全文

send函数 recv函数

2011-06-23 17:08 by 彭白洋, 450 阅读, 收藏,
摘要: send函数int send( SOCKET s,const char FAR *buf,int len,int flags );不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓冲区;第三个参数指明实际要发送的数据的字节数;第四个参数一般置0。这里只描述同步Socket的send函数的执行流程。当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲的长度, 如果len大于 阅读全文

socket函数

2011-06-23 17:04 by 彭白洋, 382 阅读, 收藏,
摘要: SOCKET socket( int af, int type, int protocol ); 应用程序调用socket函数来创建一个能够进行网络通信的套接字。第一个参数指定应用程序使用的通信协议的协议族,对于TCP/IP协议族,该参数置AF_INET;第二个参数指定要创建的套接字类型,流套接字类型为SOCK_STREAM、数据报套接字类型为SOCK_DGRAM、原始套接字SOCK_RAW(WinSock接口并不适用某种特定的协议去封装它,而是由程序自行处理数据报以及协议首部);第三个参数指定应用程序所使用的通信协议。该函数如果调用成功就返回新创建的套接字的描述符,如果失败就返回INVALI 阅读全文

[收集]XMPP使用tls 和sasl登录

2011-06-22 12:06 by 彭白洋, 694 阅读, 收藏,
摘要: 名词解释TLS:安全传输层协议 TLS:Transport Layer Security 名词:安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。在Postfix可以利用SASL来判断用户是否有权使用转发服务,或是辨认谁在使用你的服务器。--------- 阅读全文