随笔分类 - Windows
摘要:翻译的太垃圾,不建议其它人阅读本文。 Note:LSP现在已经不推荐使用。自windows8和windows Server2012开始,使用Windows Filtering Platform。 Winsock2 允许一种分层协议。分层协议是实现一种更高层级的通信函数,根据下层的传输栈来实现数据的远
阅读全文
摘要:1.为什么到现在才弄懂这个不知道这个Socket重叠IO这种模型是不是socket IO完成端口的基础,不过我感觉,学习一下这个再去学习socket IO完成端口是比较有好处的。这个Scoket重叠IO我以前记得看过好几次,都没看懂。一部分原因是我没能静态心来写代码,还有更重要的原因就是,Socke...
阅读全文
摘要:WSAAsyncSelect 实现给异步socket给了另一种实现方式,就是通过窗口消息的方式来提醒对socket接收还是发送msdn有非常全面的解释:https://msdn.microsoft.com/en-us/library/windows/desktop/ms741540(v=vs.85)...
阅读全文
摘要:这个问题困扰过我几次,都没有来得及研究,今天研究一下。首先写一个最简易的socket tcp程序,连接成功后再关闭服务器然后再用客户端各种操作看是什么情况测试表明(1)客户端已经连接,当服务端关闭程序时,客户端调用send函数发送失败,WSAGetLastError() 返回10054(远程主机强迫...
阅读全文
摘要:这种匿名管道,和读写文件类似。最好是一个进程读,一个进程写,适合单向通信,不适于双向通信,双向通信容易导致的问题是有可能,读到自己进程刚才写的内容。纯手工代码,没有一丝拷贝父进程代码:// PipeServer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#in...
阅读全文
摘要:HHOOK g_Hook = NULL;LRESULT CALLBACK CallWndProc( _In_ int nCode, _In_ WPARAM wParam, _In_ LPARAM lParam){ CWPSTRUCT * pMsg = (CWPSTRUCT*) lP...
阅读全文
摘要:CString GetUStr(const string & str){ std::string showname = str;//\u6211\u7231\u5317\u4eac\u5929\u5b89\u95e8 int len=strlen(showname.c_str())+1;...
阅读全文
摘要:32bit-64bit porting work注意事项64位服务器逐步普及,各条产品线对64位升级的需求也不断加大。在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题。什么样的程序需要升级到64位?理论上说,64位的操作系统,对32位的程序具有良好的兼容性,即使全部换成64位...
阅读全文
摘要:异步IO操作与同步操作区别: 接收IO请求完成通知
阅读全文
摘要:#include "stdafx.h"#include using namespace std;#include #include CRITICAL_SECTION cs;//1.测试同一线程两次EnterCriticalSection会不会阻塞//答案:不会/*int _tmain(int arg...
阅读全文
摘要:#include #include #define ProcessBasicInformation 0typedef struct{ USHORT Length; USHORT MaximumLength; PWSTR Buffer;} UNICODE_STRING, *PUNI...
阅读全文
摘要:release使用 json 静态库 提示fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_writer.asm”: No such file or directory
阅读全文
摘要:VC中的这两个东西肯定谁都用过, 不过它们之间有什么区别, 正好有时间研究了一下, 如果有错误欢迎拍砖.基于VC2005, 32位XP 平台测试通过. 估计对于其他版本的VC和操作系统是不通用的.1. try ... catch这个是C++语言定义的, 每个C++都有对其的不同的实现. 使用也很简单...
阅读全文
摘要:需要什么函数库(.lib)windows支持动态链接库,应用程序所调用 的windows api 函数是在“执行期间“才链接上的。Windows程序调用 可以分为 C Runtimes以及windows api 大概两部分。早期的C Runtimes并不支持动态链接,vc++ 4.0之后已经支持。并...
阅读全文
摘要:本文转自:http://www.cnblogs.com/JiMuStudio/archive/2011/07/17/2108496.htmlCStdioFile类的声明保存再afx.h头文件中。CStdioFile类继承自CFile类,CStdioFile对象表示一个用运行时的函数fopen打开的c运行时的流式文件。流式文件是被缓冲的,而且可以以文本方式(默认)或者二进制方式打开。CStdioFile类不支持CFile类中的Duplicate、LockRange、UnlockRange函数,如果你使用了,会得到CNotSupportedException类的错误。CStringFile类默认的
阅读全文
摘要:本文转自http://blog.csdn.net/bodybo/article/details/7274865写代码经常会遇到socket要通过代理连接服务器的情况,代理类型通畅有三种:HTTP、SOCK4和SOCK5,通过学习和网上参考相关代码,写了个代理类来实现该功能,贴出来与大家共享才贴出来两天,刚在百度一搜竟然发现已被一字不改的转载到好几个网站去了,连转载的字样都没有,不反对转载分享,可能否注明出处?头文件#pragma once#include #include #include using namespace std;enum ProxyStatus{ SUCCESS, ...
阅读全文
摘要:原文转自:http://www.cppblog.com/zuhd/archive/2010/06/08/117366.htmlsock代理分为sock4代理和 sock5代理。sock4支持TCP(事实仅支持TCP),无需用户名、密码验证;sock5支持TCP和UDP,根据代理服务器设置是否需要用户名、密码认证。TCP和UDP代理工作原理产不多,UDP代理网上多的是,google一下即可。这里只讲TCP代理工作原理。sock代理工作原理大致如下:1。[需要代理方]向服务器发出请求信息;2。[代理方]应答;3。[需要代理方]接到应答后发送向[代理方]发送目的ip和端口;4。[代理方]与目的连接;
阅读全文
摘要:最近想起CAsyncSocket这个类,记得很早以前用过,现在却想不起来怎么用了,翻了翻以前的代码又看了看msdn感觉这个类做简单的异步socket太简单了,几行代码就可以搞定,在此先做个总结。不管是客户端和服务端都要从CAsyncSocket这个类派生一个类来重载一系列Socket消息事件函数比如 CAsyncSocket::OnAccept CAsyncSocket::OnReceive 等1.服务端 1.1首先派生一个类用来监听class CListenSocket : public CAsyncSocket{public:public: CListenSocket(); v...
阅读全文
摘要:原文转自:http://www.crazycpp.com/?p=82前言以前收藏过一篇讲C++位操作的文章,这次博客搬家,以前的数据都没有保留,整理谷歌网站管理后台的时候,发现不时的还有网友有在查找这篇文章。所以,疯刀也来弄个简单的教程,讲讲位操作的用途和魅力吧。位简介位是数据存储的最小单位。在 计算机中的二进制数系统中,位,简记为b,也称为比特,每个0或1就是一个位(bit)。位操作详解我们先来看看位运算操作符:& (按位与)、| (按位或)、^ (按位异或)、~ (按位取反)、>> (按位右移)、>(按位右移)把二进制位整体向右移动。7>>1 = 00
阅读全文