随笔分类 - 07.经验点滴
摘要:telnet命令的主要作用是与目标端口进行TCP连接(即完成TCP三次握手)。当服务端启动后,但是telnet其监听的端口,却失败了。或者,当服务端运行了一段时间后,突然其监听的端口telnet不通了。当类似这样的telnet失败的情况出现时,该如何排查了?
阅读全文
摘要:心跳超时指的是:针对某个在线的客户端(TCP连接),服务端在指定的时间内,没有收到来自该客户端的任何消息,则认为该客户端已经掉线。 如果发生了很多客户端批量心跳超时掉线的情况,那么这种情况是什么原因导致的了?
阅读全文
摘要:我碰到这个问题比较奇怪,我写的一个方法在win7、win2003下运行没有问题,在winxp下运行就抛异常:“公共语言运行时检测到无效的程序”。那么,这个问题怎么解决了?
阅读全文
摘要:Sqlite是一款开源的、适合在客户端和嵌入式设备中使用的轻量级数据库。那么如何在.NET中使用?如何让Sqlite脱离VC++运行时独立运行?本文将给出这些答案。
阅读全文
摘要:基于.NET开发分布式系统,经常用到Remoting技术。在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间。所以,我写了一个能自动测试remoting接口的小工具InterfaceTester,跟大家分享。
阅读全文
摘要:本文记录了在将通信引擎移植到WinCE平台时,遇到的一些问题和解决方案,对于那些初次接触WinCE开发的.NET程序员或许有些许帮助。
阅读全文
摘要:给程序集强签名的常见一个作用,就是相当于给程序集印上了一个“****出品”的标志,这样别人就知道,这个程序集是你(或你的公司)发布的,别人就无法假冒你的名义了。一.给程序集强签名 要给程序集强签名,很简单,VS自带了这一功能。 首先,在解决方案资源管理器中选中目标项目,右键->属性,切换到“签...
阅读全文
摘要:原始的KMP算法适用的对象是字符串的匹配搜索,其实针对任意类型的串(实际上就是一个数组)的子串搜索,都可以使用KMP算法。
阅读全文
摘要:C和C++有很多好的类库的沉淀,在.NET中,完全抛弃它们而重头再来是非常不明智的、也是不现实的,所以,我们经常需要通过Pinvoke来使用以前遗留下来的非托管的dll。就.NET中使用非托管的dll经验而言,经常碰到的问题至少有两个,它们都是通过在运行时抛出异常来体现的。
阅读全文
摘要:最近做的一个Web版的视频会议项目,需要在网页中播放来自远程摄像头采集的实时视频,我们已经有了播放远程实时视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,ActiveX。
阅读全文
摘要:随着互联网越来越普及,以及物联网的兴起,IPv4地址已远远不够用,IPv6的普及将是不可避免的趋势。以前,我们的大部分socket程序几乎都是针对IPv4而开发,如果不做升级重构,那么使用IPv6地址的客户端将无法使用服务端提供的服务。
阅读全文
摘要:AutoResetEvent的WaitOne方法可能导致进程意外退出,你遇到过吗?
阅读全文
摘要:我们的一个C#项目需要调用C++的dll,通过Pinvoke进行方法调用。其中的一个方法及其参数的定义是这样的: [StructLayoutAttribute(LayoutKind.Sequential)] publicstructxvid_gbl_info_t{ ///intpublicintve...
阅读全文
摘要:在编码的时候,我们经常预订某个事件来处理它,但很少取消事件的预订,这种做法可能导致程序在运行时出现一些异常。 如果你的某个用于处理事件的对象不是在运行期内永久存在的(比如,不是Singleton对象),那么请记住一条规则:在该对象(事件预订者)的生命周期中只要预订了其他对象(事件发布者)的事件,...
阅读全文
摘要:在ESFramework 4.0 进阶(02)-- 核心:消息处理的骨架流程一文中我们介绍的ESFramework提供的消息处理的骨架流程,假设我们有这样的需求,我们需要在网关级消息监控器处放置两个监控器,一个用于对收到的消息进行特殊的验证,另一个用于检查重复的消息。咋一看,可能觉得骨架流程做不到...
阅读全文
摘要:Win7与原来的XP和Win2003相比,安全控制方面更严格。比如,当我们以administrator登陆XP或Win2003时,运行所有的程序即是以管理员的身份启动的。但当以administrator登陆Win7时,通常状态下,运行普通程序是以普通用户的身份启动的。当我们的WinForm应用程...
阅读全文
摘要:我们的网络游戏采用tcp进行通信,服务端程序绑定8300端口,为游戏客户端提供服务,游戏已经上线稳定运行两年多,从今年9月份开始至今碰到了3次攻击,3次攻击所导致的情况一样,描述如下: (1)从应用层上来看,攻击者每次攻击时,与8300端口都有建立最多两、三百个tcp连接。 (2)从防火墙监控来看,
阅读全文
摘要:windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。 如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest...
阅读全文
摘要:如果我使用TcpListener绑定本地的7000端口,并启动监听。然后,再使用TcpClient绑定本地7000端口,此时需要开启TcpClient的地址重用设置:Code highlighting produced by Actipro CodeHighlighter (freeware)h...
阅读全文
摘要:画图板控件是一个类似windows自带的画图程序的WinForm控件,基于GDI+技术构建。使用该控件,我们可以快速地实现类似手写板、网络电子白板等功能。1.支持的形状(1)线段、箭头线、双箭头线(2)水平肘型连接符、垂直肘型连接符(3)矩形、三角形、椭圆(圆)(4)文本(5)自由曲线(6)插入位...
阅读全文