基于C#的GIS开发Demo,功能包括鹰眼、绘图、切换视图、移动、选择、叠加分析、缓冲区分析、排版、指北针、比例尺、属性查询、位置查询、路径分析等。
2023/9/1 4:43:37 3.78MB C# GIS Demo 路径分析
1
最近有项目要做一个高性能网络服务器,去网络上搜到到的都是C++版本而且是英文或者简单的DEMO,所以自己动手写了C#的DEMO。
网络上只写接收到的数据,没有说怎么处理缓冲区数据,本DEMO简单的介绍如何处理接收到的数据。
简单易用,希望对大家有用.1、在C#中,不用去面对完成端口的操作系统内核对象,Microsoft已经为我们提供了SocketAsyncEventArgs类,它封装了IOCP的使用。
请参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketasynceventargs.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1。
2、我的SocketAsyncEventArgsPool类使用List对象来存储对客户端来通信的SocketAsyncEventArgs对象,它相当于直接使用内核对象时的IoContext。
我这样设计比用堆栈来实现的好处理是,我可以在SocketAsyncEventArgsPool池中找到任何一个与服务器连接的客户,主动向它发信息。
而用堆栈来实现的话,要主动给客户发信息,则还要设计一个结构来存储已连接上服务器的客户。
3、对每一个客户端不管还发送还是接收,我使用同一个SocketAsyncEventArgs对象,对每一个客户端来说,通信是同步进行的,也就是说服务器高度保证同一个客户连接上要么在投递发送请求,并等待;
或者是在投递接收请求,等待中。
本例只做echo服务器,还未考虑由服务器主动向客户发送信息。
4、SocketAsyncEventArgs的UserToken被直接设定为被接受的客户端Socket。
5、没有使用BufferManager类,因为我在初始化时给每一个SocketAsyncEventArgsPool中的对象分配一个缓冲区,发送时使用Arrary.Copy来进行字符拷贝,不去改变缓冲区的位置,只改变使用的长度,因此在下次投递接收请求时恢复缓冲区长度就可以了!如果要主动给客户发信息的话,可以new一个SocketAsyncEventArgs对象,或者在初始化中建立几个来专门用于主动发送信息,因为这种需求一般是进行信息群发,建立一个对象可以用于很多次信息发送,总体来看,这种花销不大,还减去了字符拷贝和消耗。
6、测试结果:(在我的笔记本上时行的,我的本本是T420I78G内存)100客户100,000(十万次)不间断的发送接收数据(发送和接收之间没有Sleep,就一个一循环,不断的发送与接收)耗时3004.6325秒完成总共10,000,000一千万次访问平均每分完成199,691.6次发送与接收平均每秒完成3,328.2次发送与接收整个运行过程中,内存消耗在开始两三分种后就保持稳定不再增涨。
看了一下对每个客户端的延迟最多不超过2秒。
2023/8/10 0:44:45 64KB C# IOCP TCP 完成端口
1
War-ftp1.65在xp_sp3下存在缓冲区溢出漏洞,可用于fuzz测试或exp编写练习
2023/7/27 16:55:07 1.45MB War-ftp 漏洞
1
TUXEDO的安装、配置TUXEDO应用系统的管理维护TUXEDO的缓冲区介绍TUXEDO的服务端编程TUXEDO的客户端编程TUXEDO的通讯方式TUXEDO的数据库编程TUXEDO的可靠消息队列/Q
2023/7/26 22:56:55 1.89MB tuxedo weblogic
1
在Linux操作系统下用C或C++实现经典同步问题:生产者-消费者问题。
含源代码和文档。
内容:1.一个大小为10的缓冲区,初始状态为空。
2.2个生产者,随机等待一段时间,往缓冲区中添加数据,若缓冲区已满,等待消费者取走数据之后再添加,重复10次。
3.2个消费者,随机等待一段时间,从缓冲区中读取数据,若缓冲区为空,等待生产者添加数据之后再读取,重复10次。
2023/7/26 20:15:20 162KB 生产者消费者 PCP
1
就是计算机系统基础的那个缓冲区溢出实验的实验报告很详细。
2023/7/26 20:53:47 1.28MB 系统基础
1
网上搜集#include#include"1602.h"#include"uart.c"#include"tc35.c"//#defineRsBuf_N50//charRsBuf[RsBuf_N];//定义串口接收数据缓冲区//ucharRsPoint=0;ucharcodePhoneNO[]="+8615900000000";//改了ucharcodeText[]="IloveSDNU";ucharcodecenter[]="+8613800531500";voidmain(){TC35_init();Uart_init();init_1602();Send_AT();Set_MODE(1);//设置短消息模式Set_CENTER(center);//设置短消息中心AT+CSCA=“+8613800531500”回车TransmitText(PhoneNO,Text);while(1);//lcd_disp_str(RsBuf,2);}
2023/7/22 11:16:40 11KB 51单片机
1
利用ArcGISEngine10.2和VisualStudio2012开发的GIS小程序,包括有文件操作(打开地图文件、新建地图文件、保存和另存为地图文件)、地图操作(放大、缩小、移动和全图)、地图选择(点选、圆选、框选、多边形选择和属性选择)、空间分析(相交、合并、缓冲区分析)。
2023/7/17 20:20:54 522KB ArcGIS Engine
1
速率控制(RC)是对编码器性能产生重大影响的关键技术。
并行视频编码框架已广泛用于超高清(UHD)实时视频编码中。
但是,大多数RC算法主要关注速率失真(RD)性能,而没有考虑多核平台上的并行数据依赖性和实现复杂性。
在本文中,我们提出了一种并行友好的RC算法,该算法已在并行H264/AVCUHD视频编码器上实现。
所提出的RC算法的显着之处在于帧的比特分配是并行编码和低复杂度。
实验结果表明,与恒定量化参数(CQP)的编码方式相比,所提出的速率控制算法具有较高的RC精度和良好的缓冲区控制性能,并获得了RD性能的提升。
2023/7/7 10:24:40 214KB rate control; parallel video
1
缓冲区溢出定义为程序尝试将数据写入超出预分配的固定长度缓冲区边界的条件。
恶意用户可以利用此漏洞来改变程序的流控制,甚至可以执行任意代码。
此漏洞由于数据存储(例如缓冲区)和控制存储(例如返回地址)的混合而产生:数据部分中的溢出会影响程序的控制流,因为溢出可能会更改返回地址。
在本实验中,我们将获得一个缓冲区溢出漏洞的程序,开发一个利用漏洞的方案,最终获得root权限
2023/7/6 22:07:01 921KB 网络安全
1
共 125 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡