1.缘起:假设我们的C/S系统中服务端与客户端之间采用UDP进行通信,那么服务端如何知道每个客户端当前是否仍然在线了?有可能某个客户端一直没有退出,但是在很长一段时间内都没有与服务端作任何通信,那么服务端就应该认为这个客户端已经离线了吗?为了能让服务端掌握每个客户端是否在线的状态,我们可以这样做,只要客户端一启动起来,就每隔一段时间间隔(如10秒)就向服务端发一个“我还在线”的消息,以表明自己的状态。而服务端如果在一个更大的时间间隔内(如20秒)都没有收到
系统 2019-08-29 22:05:22 1929
使用JNA简单调用DLL里的函数1、在VC下创建一个动态链接库项目testJNA2、在头文件里声明函数extern"C"_declspec(dllexport)intadd(intfirst,intsecond);红色字体部分是必须的,包括定义结构体时也需要。应该是说此函数是发布的。3、在源码里实现函数intadd(intfirst,intsecond){printf("(c)testjna:%d+%d=%d",first,second,first+sec
系统 2019-08-12 09:30:24 1929
一、关于Linux的分区情况虽然硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(PrimaryPartion)一个是扩展分区(extendedpartition)两种,主分区可以马上被使用但不能再分区,扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(LogicalPartion),况且逻辑分区没有数量上限制。对习惯于使用Dos或Windows的朋友来说,有
系统 2019-08-12 09:30:23 1929
1#include2#include3#include4#include5#defineMAXN1606#defineMAXM207#defineMAXL2808usingnamespacestd;9intn,m;10boolland[MAXN][MAXM];11intput[MAXL][MAXM],cnt[MAXL],tmp[MAXM],size;12vectorG[MAX
系统 2019-08-12 09:27:41 1929
什么是自动化测试:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。自动化测试常见的误区:1.认为录制回放就是自动化测试(自动化测试的不同层次)2.只验证界面上的信息3.让测试相关的材料自由组织,应妥善管理测试相关的文档和输出4.过早或过多的自动化自
系统 2019-08-12 09:27:14 1929
AOP全称为AspectOrientedProgramming,即面向切面编程。AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。推荐两篇关于这个的博文:http://www.ibm.com/developerworks/cn/web/1212_lincy_jsaop/index.htmlhttp://www.alloyteam.com/2013/08/yong-aop-gai-sha
系统 2019-08-12 09:27:13 1929
SublimeText2常用的快捷键(不包含插件快捷键)Ctrl+P打开文件搜索框,可以直接输入文件名搜索,或者输入@funcName可以直接到函数定义处,输入#key可以直接查找,输入:行数可以直接到某行(同快捷键Ctrl+G)Ctrl+Shift+P打开命令面板,可以查找一些功能。或者输入packagecontrol可以安装删除插件。Ctrl+D选词(按住继续选择下个相同的字符串)Ctrl+M光标移动至括号内开始或结束的位置Ctrl+Shift+M选择
系统 2019-08-12 09:26:53 1929
js:functionvalidateChklst(source,args){//验证CheckBoxList必须选择且只能选择一个varobj=document.getElementById('<%=chklstConclusion.ClientID%>');vari,k=0,isCheck=false;vartags=obj.all.tags('inp
系统 2019-08-12 09:26:47 1929
修改中断描述符表(IDT)中的键盘入口实现按健记录,把读取到的键盘扫描码转换成ascii码记录下来。查找键盘入口采用了查询IOAPIC的重定向寄存器的方法(通过把物理地址0xFEC00000映射为虚拟地址,然后读取键盘中断向量,最难得是没有xpsp2的限制了。这是我从别处转过来的驱动源码,WindowsXPCheckedBuildEnvironment测试过。#include#include#defineMAX_CHAR
系统 2019-08-12 09:26:46 1929
在Python中一切都是对象。如果要在Python中表示一个对象,除了定义class外还有哪些方式呢?我们今天就来盘点一下。0x00dict字典或映射存储KV键值对,它对查找、插入和删除操作都有比较高效率。用一个dict对象可以非常容易的表示一个对象。dict的使用也很灵活,可以修改、添加或删除属性。>>>student={'name':'jack','age':18,'height':170}>>>student{'name':'jack','age':
系统 2019-09-27 17:56:53 1928