socket
文章平均质量分 94
源之缘-OFD先行者
这个作者很懒,什么都没留下…
展开
-
socket心跳超时检测,快速处理新思路(适用于超大量TCP连接情况下)
假设一种情景:TCP服务器有1万个客户端连接,如果客户端5秒钟不发数据,则要断开。服务端如何检测客户端是否超时?这看起来是一个非常简单的问题,其实不然!最简单的处理方法是:启动一个线程,每隔一段时间,检查每个连接是否超时。每次处理需要1万次检查。计算量太大!检查的时间间隔不能太小,否则大大增加计算量;如果间隔时间太大,超时误差会增大。本文提出一种新颖的处理方法,就是针对这个看似简单而不易解...原创 2018-11-14 11:30:00 · 1453 阅读 · 0 评论 -
数字对讲系统开发札记(前端linux c 后端 c#)
前言数字化是一种趋势,特别是在“提速降费”的大环境下,这种趋势愈发明显。对讲机这种古老的系统也处在时代的变革之中,虽然手机的功能越来越强,让人怀疑对讲机是否还有存在的必要。诚然,对讲机仍然有它的市场。有时候,功能太多太强反而不是优势;对讲机的优势就是功能简单,专业性强。 笔者最近也涉足了对讲系统的开发,发现这个行业也大有可为。特别是4G、5G的出现,数字对讲系统的优势逐步显现;就像数码相机...原创 2019-10-27 19:17:14 · 538 阅读 · 0 评论 -
高性能、高可用性Socket通讯库介绍 - 采用完成端口、历时多年调优!
前言本人从事编程开发十余年,因为工作关系,很早就接触socket通讯编程。常言道:人在压力下,才可能出非凡的成果。我从事的几个项目都涉及到通讯,为我研究通讯提供了平台,也带来了动力。处理socket通讯对初学者而言,具有很大的挑战性。我有个梦想:能不能开发一套系统,能很好的实现性能和易用性的统一。高性能socket采用iocp(完成端口)是唯一选择。iocp像一匹烈马,虽然性能优良,但不宜驯服。...原创 2019-03-03 16:15:37 · 349 阅读 · 0 评论 -
AcceptEx与完成端口(IOCP)结合实例
前言 在windows平台下实现高性能网络服务器,iocp(完成端口)是唯一选择。编写网络服务器面临的问题有:1 快速接收客户端的连接。2 快速收发数据。3 快速处理数据。本文主要解决第一个问题。AcceptEx函数定义复制代码BOOL AcceptEx(SOCKET sListenSocket,SOCKET sAcceptSocket,PVOID ...原创 2019-01-27 09:45:26 · 563 阅读 · 0 评论 -
十余年软件开发经历,经验总结和程序一览(涉及Socket、WPF、vc++、CAD、图像、GIS)
前言本文主要介绍我开发的几款软件产品,大概介绍一下功能。可以让读者了解本人的开发能力,所擅长的方面。有相关开发需求可以联系作者。本人开发软件多年,从事的行业也多种多样;自然接触了不同的业务,开发了各类软件产品。工作的主线一直是windows下C/S模式软件开发; 最近也开始学习asp.net core。 软件开发和读书一样,先由厚到薄,再有薄到厚。纯粹的软件理论总是很空洞,让人无法适...原创 2018-12-17 15:59:27 · 446 阅读 · 0 评论 -
一个高性能异步socket封装库的实现思路 (c#)
前言socket是软件之间通讯最常用的一种方式。c#实现socket通讯有很多中方法,其中效率最高就是异步通讯。异步通讯实际是利用windows完成端口(IOCP)来处理的,关于完成端口实现原理,大家可以参考网上文章。我这里想强调的是采用完成端口机制的异步通讯是windows下效率最高的通讯方式,没有之一!异步通讯比同步通讯处理要难很多,代码编写中会遇到许多“坑“。如果没有经...原创 2017-11-28 14:04:00 · 1391 阅读 · 0 评论 -
.net 平台下, Socket通讯协议中间件设计思路(附源码)
.net 平台下,实现通讯处理有很多方法(见下表),各有利弊:序号 实现方式 特点 1 WCF 优点:封装好,方便。缺点:难学,不跨平台 2 RocketMQ,SuperSocket等中间件 优点:轻便 缺点:用户群体少 3 直接使用winsocket 优点:全部在自己掌控之下,协议灵活。缺点:实现时间长,易于出错。...原创 2018-01-17 13:13:00 · 365 阅读 · 0 评论 -
单线程实现同时监听多个端口(windows平台c++代码)
前言 多年前开发了一套网络库,底层实现采用IOCP(完成端口)。该库已在公司多个程序中应用;经过多次修改,长时间检验,已经非常稳定高效。最近把以前的代码梳理了一下,又加进了一些新的思路。代码结构更加合理,性能也有所提升。打算将该库一些的知识点写出来,以供参考。服务端要在多个端口监听,这种场合并不多见。但作为一个完善的网络库,似乎有必要支持此功能的。传统实现方法 如果监听端口...原创 2018-09-28 08:56:00 · 1054 阅读 · 0 评论 -
采用完成端口(IOCP)实现高性能网络服务器(Windows c++版)
前言 TCP\IP已成为业界通讯标准。现在越来越多的程序需要联网。网络系统分为服务端和客户端,也就是c\s模式(client \ server)。client一般有一个或少数几个连接;server则需要处理大量连接。大部分情况下,只有服务端才特别考虑性能问题。本文主要介绍服务端处理方法,当然也可以用于客户端。 我也发表过c#版网络库。其实,我最早是从事c++开发,多年前就实现了对完成端口...原创 2018-10-06 20:48:00 · 1073 阅读 · 0 评论 -
基于opencv,开发摄像头播放程序
前言Windows下实现摄像视频捕捉有多种实现方式;各种方式的优劣,本文不做对比。但是,opencv是一款老牌开发库,在图像处理领域声名显赫。采用opencv来处理摄像视频,在性能和稳定性上,是有保障的。并且,opencv包含很多图像处理函数,可以更方便的对视频处理。 执行程序是用wpf开发的,所以先将opencv封装成c语言接口,以供调用。opencv也不可能提供现成的控件供wpf使用,...原创 2019-08-10 22:54:00 · 265 阅读 · 0 评论