自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木棉花开时,凤凰涅槃日!

To make some progression everyday !

  • 博客(25)
  • 收藏
  • 关注

原创 在类中使用_beginthreadex函数创建线程并访问该类中的数据成员

#include #include #include using boost::asio::ip::tcp; #include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o#include "boost/date_time/posix_time/time_parsers.hpp"#in

2013-11-25 16:34:23 2220

原创 C++ String 转换为 int、long、float、double类型

1. atoi():      int atoi ( const char * str );2. aotl():  long int atol ( const char * str );3. atof():  double atof ( const char * str );Demo:L110~115#include "stdafx.h"#include "boost/date_

2013-11-24 23:09:18 1182

转载 完美的C++/CLI

什么是C++/CLI呢?C++当然指的是Bjarne Stroustrup在BELL实验室发明的C++语言,它实现了运行时取得速度和尺寸最佳化的静态对象模型,然而它除了堆分配外不支持程序的动态修改,它准许无限地接近底层设备,但在程序运行过程中几乎无法操作活动类型,也无法操作与程序相关联的底层结构。Herb Sutter,C++/CLI的主要构造者之一,称C++是一门“混凝土”式的语言。

2013-11-24 01:57:45 617

原创 C#中的事件

C#中使用事件需要的步骤:1.创建一个委托2.将创建的委托与特定事件关联(.Net类库中的很多事件都是已经定制好的,所以他们也就有相应的一个委托,在编写关联事件处理程序--也就是当有事件发生时我们要执行的方法的时候我们需要和这个委托有相同的签名)3.编写事件处理程序4.利用编写的事件处理程序生成一个委托实例5.把这个委托实例添加到产生事件对象的事件列表中去,这个过程又叫订阅事件

2013-11-24 00:46:00 549

转载 C#中internal关键字的作用

我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。如果你记录日志的程序集是这么定义的namespace LogerHelper {    internal class aa    {

2013-11-24 00:08:30 601

原创 C#中装箱和拆箱的作用 the effection of boxing and unboxing

值类型和引用类型放在不同的地方,在互相转换的时候需要把数据搬过来搬过去,这就是装箱和拆箱了. 在于类型的转换例如一个函数要处理传入的参数,但是这个参数可能是A、C、E这三种类型的类,那么一般做法就是重载函数。如果要是使用box和unbox的话,就可以把形参设定为object类型的,然后再用gettype来确定到底是哪种类型的类被传来处理。明白不?写个例子吧:private vo

2013-11-23 22:43:57 1083

原创 在VC++项目中使用.Net库,经过简单转换,可以直接使用C#代码

一、新建一个VC++项目二、所在项目右键 --> 属性\或快捷键R --> 配置属性::常规::公共语言运行时,选择“公共语言运行时支持\CLR” common language runtime的缩写代码如下:// VCString.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"using namespace System;using n

2013-11-23 21:45:08 1275

原创 boost中的asio实现定时器功能

#include #include #include #include #include int iWaitMicroSenconds = 1000000;static void OnTimer(const boost::system::error_code& /*e*/, boost::asio::deadline_timer* t){ std::cout << "OnTi

2013-11-23 16:49:59 983

原创 asio异步网络通信实例

服务端:#include #include #include #include #include using boost::asio::ip::tcp;#define max_len 1024class clientSession :public boost::enable_shared_from_this{public: clientSession(boost::as

2013-11-23 15:38:30 1016

原创 如何快速学习、掌握、使用新技术

一、baidu、google找Demo若干二、把环境变量配置好,确保程序正确运行三、直接看Demo中的代码,把不懂的记录下来四、然后结合教材、博客、文档等学习基础知识点,并逐步弄懂Demo中的代码五、掌握的基本知识后,就可以到各种开源网站去进一步研究学习该技术的精妙和高深之处了。

2013-11-22 15:34:20 607

转载 boost库之asio使用出错:error LNK2001,boost::system::generic_category

错误现象:在使用boost库之asio库时,出现以下错误:      error LNK2001: 无法解析的外部符号 "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror

2013-11-22 15:18:30 1241

原创 获取本地主机名和IP地址

// GetHostIPAddr.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"////#include ////#pragma comment(lib,"wsock32.lib")#pragma comment(lib, "ws2_32.lib") // 链接到WS2_32.lib #include #include #include

2013-11-22 14:18:58 669

原创 一个简单的IOCP服务器实例

//////////////////////////////////////////////////////////// initsock.h文件#include #pragma comment(lib, "WS2_32") // 链接到WS2_32.libclass CInitSock {public: CInitSock(BYTE minorVer = 2, BYTE ma

2013-11-20 16:25:31 1029

转载 WinSocket模型的探讨——完成端口模型

众所皆知,完成端口是在WINDOWS平台下效率最高,扩展性最好的IO模型,特别针对于WINSOCK的海量连接时,更能显示出其威力。其实建立一个完成端口的服务器也很简单,只要注意几个函数,了解一下关键的步骤也就行了。 这是篇完成端口入门级的文章,分为以下几步来说明完成端口: 函数常见问题以及解答步骤例程1、函数: 我们在完成端口模型下会使用到的最重要的两个函数

2013-11-19 22:54:37 883

原创 iocp网络通信之如何判断客户端连接断开

BOOL r = ::GetQueuedCompletionStatus(hCompletionPort, &dwBytesTransferred, (LPDWORD)&hCompletionSocket, (LPWSAOVERL APPED *) &lpOvlpEx, INFINITE); if (hCompletionSocket== INVALID_SOCKET || lpOv

2013-11-19 22:38:07 3178

转载 asp.net中的Web.config常用节点

xmlversion="1.0"?>注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项。设置和注释的完整列表在 machine.config.comments 中,该文件通常位于 "Windows"Microsoft.Net"Framework"v2.x"Config 中

2013-11-17 01:03:49 920

原创 网络通信的大端小端问题

一直有个疑问,为什么socket编程中像端口 ip地址都需要转换为网络大端数据(hton pton),那为什么发送的数据就不需要转换呢?

2013-11-16 22:18:05 1031

原创 socket中的半包问题

最近在开发C++的服务端,但是客户端是用C#来写的。测试的时候发现,当服务端循环向客户端发送n包数据的时候,客户端收到的数据包都是不完整的包,也就是第一次接受到包的上半部分,下一次接受包的下半部分。这种情况虽然也可以把包解析出来,但是及其繁琐,最好要避免这样情况的发生。找了很久原因,最终总算把问题解决了,解决的办法就是:发送和接受的底层函数的第二个参数int maxBufferLength 必

2013-11-15 23:44:22 693

原创 C# .NET利用Newtonsoft.Json来序列化和反序列化对象

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一

2013-11-15 16:06:19 3057

原创 在类中使用线程

在类中使用线程,必须要注意两点一、线程函数必须是类的静态成员函数或全局函数,建议最好声明为类的静态成员函数。原因:线程处理函数有且只有一个void*类型的参数。类的非静态成员函数被调用时,系统会隐式传入一个参数——this指针,如果把线程处理函数定义为类的一般成员函数,该线程处理函数就有两个参数了,一个是线程创建时的参数,另一个是被调用时隐式传入的this指针。利用反证法,所以要把线程处理函数

2013-11-14 23:07:54 1097

原创 C#客户端 C++服务端 乱码问题

不同语言之间进行网络通信时,出现乱码是一种普遍的现象。我在工作中也遇到了这样的问题——客户端是用C#来写的,服务端是用C++来写的,以下是解决乱码问题的方法:socket 通信,客户端采用c# 发送报文如下:                client.Connect(ipAddress, port);                byte[] byteData = En

2013-11-14 22:53:32 1595

原创 Commonly Used Windows SDK and MFC Data Types

This topic lists the data types most commonly used in the Microsoft Foundation Class Library. Most of the data types are exactly the same as those in the Windows Software Development Kit (SDK), while

2013-11-12 12:57:33 680

原创 服务端测试

一、每秒的最大传输速度二、每秒能处理的最大连接数三、服务端向客户端发送1亿个包,客户端是否能收到1亿个包,确保不掉包四、客户端向服务端发送1亿个包,服务端是否能收到1亿个包,确保不掉包

2013-11-10 14:47:37 701

原创 VS2010中的LPTSTR LPCTSTR LPSTR LPCSTR LPWSTR LPCWSTR

VS2010中的LPTSTR主要是为了不同版本之间的兼容问题而设计的。如果是使用了UniCode编码方式,则#define LPWSTR LPTSTR如果是使用了Ascii的编码方式,则#define LPSTR LPTSTR VS2010默认的是UniCode的编码,1个字符要占用2个字节如下代码#include #include void testString()

2013-11-09 18:08:46 1093

原创 string转CString CString转string

//CString->std::string 例子:CString strMfc=“test“;std::string strStl;strStl=strMfc.GetBuffer(0);//std::string->CString 例子:CString strMfc;std::string strStl=“test“;strMfc=strStl.c_str();

2013-11-09 17:48:07 1051

空空如也

空空如也

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

TA关注的人

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