- 博客(39)
- 收藏
- 关注
原创 Windows Phone 7 网络字节序列化(结构转字节)实现
令人激动的Windows Phone 7 Mango(WP7)版本开放了Socket接口,虽有些Socket功能无法实现令人遗憾,但还是进步了一些。有了Socket我们就可以用其为我们传递Byte[]数据流,而我们的数据又经常保存在struct或者class中,但是WP7对这种结
2011-07-09 10:30:46
1621
原创 异步Windows Socket包装,包括TCP与UDP,可处理粘包
头文件struct IPAddress{ union { struct IPV4Address { ULONG host; USHORT port; }address; UINT64 _64; }; static IPAddress Zero; ULONG& GetHost(){return address.host;}
2011-06-09 14:50:00
2759
原创 做服务器开发的朋友一定要看这篇文章,虽然是我转载的——全面认识服务器网卡:理论篇
[09-03 10:44:14]出处:PConline作者:笨人责任编辑:gongjianhui 服务器和我们常见的PC一样,都是由CPU、主板、内存、硬盘、网卡等配件组成的。笨人跟大家讨论服务器的时候,发现很多朋友在习惯上,都对CPU、主板、内存、硬盘等部件比较在意,对网卡、电源等就不太重视了。大多数抱着有就行、能用就好的这种心理。其实上,在服务器里面,电源是一个相当关
2011-06-07 10:41:00
5206
原创 局域网内远程调试命令行快速配置
<br />X:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/Remote Debugger/x86>msvsmon /noauth /anyuser /port:4016 /timeout:99999999 /nosecuritywarn /nostatus<br /> <br />/noauth 无验证<br />/anyuser 任意用户<br />/port 指定端口<br />/timeout 指定超时时间,默认无验证情况是15分钟
2011-05-30 16:18:00
1303
原创 XNA正交投影矩阵原点在左上角
// projection uses CreateOrthographicOffCenter to create 2d projection// matrix with 0,0 in the upper left.basicEffect.Projection = Matrix.CreateOrthographicOffCenter (0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 0,
2011-05-16 10:17:00
1329
原创 [转载]比较好的Socket send recv closesocket shutdown LINGER解释
<br />对于send函数: <br /><br />send函数只负责将数据提交给协议层。 <br />当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲区的长度,如果len大于s的发送缓冲区的长度,该函数返回SOCKET_ERROR; <br />如果len小于或者等于s的发送缓冲区的长度,那么send先检查协议是否正在发送s的发送缓冲中的数据; <br />如果是就等待协议把数据发送完,如果协议还没有开始发送s的发送缓冲中的数据或者s的发送缓冲中没有数据,那么send就比较s的
2011-05-05 15:28:00
1895
原创 开发经验分享
<br />网络软件的开发周期有点估不准,本来计划3周写完P2P的,虽然2周吧代码全写完了,结果搞了4周了,还没测完。<br />昨天一个API:HttpSendRequest卡死,设置超时也没用,折腾我半天时间,老外也没有解决的,今天变通的解决一下,还是很纠结。<br />HttpOpenRequest返回122错误,但是运行是成功的,这个无法解决<br />HttpSendRequest返回12002错误,这个是随机的,有时卡死,有时返回,InternetSetOption设置超时是没用的。<br />
2011-04-28 14:29:00
2036
1
原创 指针类 目的:使代码干净,降低了一点效率
#pragma oncetemplate<class T>struct pointer{ T* ref; pointer():ref(0) { } pointer(T* _p):ref(_p) { } T* operator -> () { return ref; } pointer<T>& operator = (const pointer<T> _right) { ref = _right.ref; ret
2011-04-25 11:11:00
1111
原创 std::string split 标准库字符串切割
#include <string>#include <sstream>stringstream ss(blocks->Value());string sub;while(getline(ss,sub,','))// ',' 是切割字符{ if(sub.empty())continue; sub.erase(0, sub.find_first_not_of(" /t/n/r"));// 去掉前面多余的空格 sub.erase(sub.find_last_not_of(" /t/n/r"
2011-04-25 11:08:00
8844
原创 ValidateRequest=false 无效(.Net 4.0 )
当我们投递数据到Asp.net页面时有以下异常:异常:从客户端(code)中检测到有潜在危险的Request.Form 值并且设置在页面或web.config设置了ValidateRequest="false"均无效时,需要用下面的代码:<configuration> <system.web> <compilation debug="true" targetFramework="4.0"/> <httpRuntime requestValidationMode="2.0" />
2011-04-20 15:11:00
3731
原创 XNA Reach AlphaBlend
spriteBatch = new SpriteBatch(GraphicsDevice); bs.AlphaSourceBlend = Blend.SourceAlpha;bs.AlphaDestinationBlend = Blend.InverseSourceAlpha;用XNA开发个编辑器,发现不能正确绘制PNG图片,所以需要AlphaBlend,于是写了上面的混合代码,但是<br />我的电脑不支持HiDef,只能Reach,并提示“XNA Framework Reach profil
2011-04-20 10:23:00
1407
原创 带有Cookie功能的HTTP访问函数,GET,PUT/POST
#define AFX_INET_SERVICE_FTP INTERNET_SERVICE_FTP#define AFX_INET_SERVICE_HTTP INTERNET_SERVICE_HTTP#define AFX_INET_SERVICE_GOPHER INTERNET_SERVICE_GOPHER #define AFX_INET_SERVICE_UNK 0x1000#define AFX_INET_SERVICE_FILE
2011-04-15 17:24:00
5463
1
原创 Windows Phone 7 体感开发指南(振动、GPS、重力感应、陀螺仪/罗盘、环境光/光线检测、趋近/贴近检测)
Microsoft.Devices.VibrateController.Default 震动控制器 (static)Microsoft.Devices.Sensors.Accelerometer 重力加速器System.Device.Location.GeoCoordinate 陀螺仪(海拔,航向,垂直,水平,精度,纬度……)System.Device.Location.GeoCoordinateWatcher 位置信息(GPS)<br /> <br />官方:接近、光线感应器 第一个WP7系统版本不支持第
2011-03-22 13:12:00
2384
原创 ASP.net POST 其他页面地址时提示405.0 - Method Not Allowed的解决
<br />ASP.net POST 其他页面地址时提示405.0 - Method Not Allowed的解决<br /> <br />我遇到时POST的地址写成了http://domain//dir<br />改为http://domain/dir/<br />即可,这是IIS的一个特性,也许其他Web服务器不会这样
2011-03-18 11:35:00
3236
原创 编译得到不同结果的原因之一
<br />Visual Studio<br />如果将项目放到不同的解决方案中,得到了不同的编译结果,那么优先考虑解决方案对项目的编译类型设置,比如Debug/Release。
2011-03-16 14:20:00
1089
原创 Windows 临界区简单封装,没有TryLock
// headerclass Locker{ CRITICAL_SECTION m_hCriticalSection;public: Locker(void); ~Locker(void); void Lock(); void Unloak();}; class AutoLock{ Locker* m_pLock;public: AutoLock(Locker& locker) { m_pLock = &locker; m_
2011-03-09 11:28:00
1906
原创 使用MFC类CInternetSession直接访问HTTP内容,支持断点续传,可轻松改为Windows API方式
enum HTTPREQUESTRESULT{ RES_REQ_DONE_OK, RES_REQ_ERROR_HTTP, RES_REQ_ERROR_SERVER, RES_REQ_ERROR_NET}; // 请求HTTPREQUESTRESULT RequestHttp(LPCTSTR url){ CInternetSession session; DWORD dwReadLen = 0; CString szRequestHeader;// H
2011-03-09 11:25:00
4668
原创 使用Windows系统API计算数据和文件的MD5哈希值,支持大文件
// 计算数据的MD5字符串string ComputeMD5(const char* szData, size_t len)// 计算文件的MD5字符串,支持大文件(large file)string ComputeFileMD5(const TCHAR* szFilename)
2011-03-09 11:16:00
3835
翻译 CRT 内存泄漏检测
#define _CRTDBG_MAP_ALLOC #include #include #include "debug_new.h"
2011-03-09 11:14:00
948
原创 Windows7 任务栏功能的开发
此篇文章为原创,禁止转载 此篇文章仅限于C++,托管代码开发请参考Windows API Code Pack for the Microsoft .NET Framework。本文参考至: MSDN dd942846我的上一篇文章讨论了如何针对Vista的窗体透明进行编程开发,今天来讨论下Windows7的特色——任务栏开发。 Windows7为窗口增加了一个属性:application ID(应
2009-10-02 00:47:00
5112
2
原创 人力资源调查:中国游戏公司研发力排名
根据国际知名咨询调查公司DMC通过大量人力资源调研得到的中国大陆地区游戏开发商实力排名(排名中所有跨国公司皆为中国分公司,部分韩国公司因为保密无法调查)美术(包括2D美术,3D美术,动画等)Tose 100Ubi 972K Games 85Virtuos 82Art-Coding 79JCC
2007-11-22 10:20:00
4266
原创 关于VC7(VS2003),VC8(VS2005),VC9(VS2008)中的增量连接相关功能
在VS的有.net版本 以后增加了可以在调试过程中动态改变逻辑代码的功能,也就是/EDITANDCONTINUE。这个功能的原理在于调试时将所有函数的起始地址放到一个ILT(incremental link table)内存中,这样每个函数修改时不会影响到其它函数的地址或者说影响的机会很小。可以做实验,默认情况,VS写一个简单的C++程序,添加一个全局函数,然后用printf打印函数地址,再用
2007-11-08 13:37:00
2348
原创 分布式COM如何通过防火墙
teleme(常败将军)1、引言 这篇文章主要介绍如果配置分布式组件对象模型(DCOM)通过防火墙。首先假设读者已经熟悉TCP和UDP协议,并理解防火墙的一些基本概念。还有下面介绍的端口限制技术将工作在Windows NT环境下,Windows 95目前不支持该功能(但是不用担心,大部分情况下不需要)。还有一点注意的是,本文讨论的很多内容也适用于那些使用动态端口的远程过程调用(RPC)系统。
2007-10-29 17:17:00
1474
转载 C89标准 C99标准 函数结构定义的限制
限制 C89标准 C99标准数据块的嵌套层数 15 127条件语句的嵌套层数 8 63内部标识符中的有效字符个数
2007-10-24 13:31:00
1462
原创 GDC China(中国游戏开发者大会在上海举行,后两天参与的几张照片)
均为手机拍摄,效果欠佳我的主站连接:http://www.fyter.cn/PermaLink,guid,cea3b11f-0eae-41eb-9838-e2bd6405187b.aspx我的主站博客:www.fyter.cn 由于第一天是VIP场,主要是移动游戏方面所以没必要也没权利去。第二天适合朋友去的,50元参观证只能在一楼使用,三楼和五楼都需要更高价格的通行证。这是我的
2007-08-30 00:11:00
1878
原创 一些SQL日期时间技巧 [新]
[转] 通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,
2007-08-19 01:03:00
1219
原创 Visual Studio 2008 Beta1 Orcas试用感觉
1、试用新的功能2、试用效率的提升3、C++ , Web开发的部分 结果 在C++方面我对它已经没有什么要求了,而且也没有什么可以再发展的余地了。在VC的对话框方面多了几个工具(包括超链接),改变不太大。web开发方面可以明显感觉到的就是效率的提高,同样的机器VS2005速度是很慢的,尤其在解析web html代码时。而且Orcas默认已经支持了AJAX,这使得开发这
2007-07-15 14:37:00
1110
原创 超大地图MMORPG的场景管理
[转载] 作者: 缘夙之 目前在做一个超大地图MMORPG的场景管理部分,客户端通过动态预读解决了超大图量的动态加载,但是在做人物行走的时候遇到了一些问题: 一张地图上的PLAYER和NPC等是存放在一个list中的,地图超大那么上面的PLAYER就可能超多(预计大于200),这样的话每个行走动作都要发送200条以上的消息,这对于服务器是一种很大的负担,而且这种负担是呈级数增
2007-04-16 16:21:00
2437
原创 Irrlicht引擎1.3发布(3D图形游戏引擎)
今天发布了IrrLicht引擎的1.3版,增加了一些新的特性:1、改进了字体的支持:抗锯齿、透明通道、不同字符集及新的字体工具2、增强的界面系统:元素对其、工具提示等更多3、渲染级视频(二次软件光栅化) 的速度提高与新的特性:顶点缓冲、双线形抖动、裁剪测试、……4、几个速度的增强5、修改了几个API,所以当更新的时候请小心6、依次修复了数百个错误更多请到IrrLicht官方网站查看:官方网
2007-03-19 21:29:00
3434
原创 Java 开源带给我们什么?--Java的堕落 (--微软拥护者 --C++拥护者)
开源一直是一个热门敏感的话题,Java也加入了进来,加入了不死不活的行列 ...开源永远的是研究人员的专利,这个是我一直坚持的观点,它永远不会走上大雅之堂。就像Windows与Linux,给人的感觉是Microsoft在敬业,而Linux呢,谁在敬业,谁在保证它的稳定健壮?你可能会说IBM,Redhat,等等,可往往就是这个“等等”是它成为了一种幽魂野鬼不知归宿。它不可能像Windows一样强
2007-03-16 21:51:00
1835
2
原创 使用gSOAP与WebService - 第二部分 开发第一个WebService客户端(C++)
CurrencyConvertor - How use gSOAP and WebServices - Part 2 Doing the first WS client. Download Demo Project - 42.1 KB Download Source Files - 219.6 KB IntroductionThis is the second
2007-03-13 09:49:00
5502
原创 使用gSOAP与WebService - 第一部分 为VC++从WSDL读取信息
CurrencyConvertor - How use gSOAP and WebServices - Part 1 Get ready with VC++ 6 from WSDL file Download Demo - 42.1 KB Download Source Files - 219.6 KB IntroductionIn this articl
2007-03-13 09:47:00
6239
原创 VS2005(VC++)远程调试方法
仅我目前了解很多人还在使用成本很高的本地调试方法——即在需要调试的机器上安装VS环境。这样的好处就是直接,但是成本很高,要在目标机器安装一个VS的Copy(国内可能不是问题:) 。还有源代码安全问题、同步问题等等!开始!已知:A、B两个服务器。如果是XP必须为最新的SP,2003的任意版本均可,是为了解决DCOM的通讯问题。A为开发用机,安装VS2005团队开发版。B为普通电脑。过程
2007-03-09 14:17:00
6016
1
原创 [网络游戏网络底层开发]技术万岁,我们一起成长
总想写,可就是不想动键盘。 MMORPG最频繁的传输莫过于行走,那么做压力测试行走必然是非常重要,我们采用每秒钟多少用户同时在一个聚集点的方法来测试。其要点就是测试同屏多少玩家可以自由移动,并把移动消息通知给其他玩家。在很多游戏中同屏60人已经很卡了,我的研究重点就是要突破这个极限。由于我是维护其他人写的代码,那个框架是不可能实现理想我们理想目标的,所以最后还是决定使用我的内存管
2007-01-20 22:39:00
2178
原创 VC中获取函数的真实地址
我有一个需求,是获取函数的机器码,但是我直接用函数的地址来读取却读不到,后来听说是虚函数地址。经过研究可以计算出函数的真实地址: // 计算函数真实地址 unsigned char* funaddr= (unsigned char*)f;//void f(){} if(funaddr[0]==0xE9)// 判断是否为虚拟函数地址,E9为jmp指令 { unsigned long rea
2006-10-25 01:13:00
4657
原创 让普通C++类中支持连接点(Windows系统)
容器不要Impl的,连接点可以使用Impl的,从如下继承class YourClass:public IYourBaseInterface,public IConnectionPointContainer,public IConnectionPointImpl查询连接点容器时要转换一下得到正确的vtbl STDMETHOD(QueryInterface)(REFIID iid, LPV
2006-10-22 21:31:00
1598
原创 第一款中国人自主研发的普及型计算机高级编程语言
最近有了比较大的技术突破,可以实现快速的开发环境了,我之前的计划一直是解析脚本来实现迈欧网的开发环境。 有了这个技术,虽然是高级语言,但是却不会丧失性能,达到C++等语言的速度,甚至更快。 希望朋友们支持我,你们的支持是我不间断开发此产品的动力。我相信很快会给你们一个演示版本。下面是在迈欧网发布的新闻:http://www.fyter.cn/mioo/NewsDat
2006-10-22 21:29:00
3184
3
原创 www.fyter.cn
http://www.fyter.cn很多开发资料location.href="http://www.fyter.cn";
2006-08-26 22:09:00
1652
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人