这是一个精练的服务端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxServerSocket的使用如下(以某个叫做CSomeClass的类的相关代码为例): 一.声明服务端套接字对象实例. CxServerSocket m_ssLocalHost; 二.设置服务端套接字事件通知方式.消息响应或回调函数,任选其一.服务端套接字事件有:接收到客户端的连接请求. void CSomeClass::PreSubclassWi…
服务端套接字类CxServerSocket的使用 这是一个精练的服务端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣能),个人习惯而已,如有雷同,纯属巧合. CxServerSocket的使用如下(以某个叫做CSomeClass的类的相关代码为例): 一.声明服务端套接字对象实例. CxServerSocket m_ssLocalHost; 二.设置服务端套接字事件通知方式.消息响应或回调函数,任选其一.服务端套接字事件有:接收到客户端的连接请求. void…
libMedia是一个免费的简单的媒体开发库,其中的接口类与函数大都以小写的x打头,来源于我的姓氏首字母(谢欣伦). 下载 OpenDev for VS2012 libMedia提供四大功能,一是视频组件查找,二是视频捕获,三是视频压缩,四是视频播放.其主要的接口类如下: 视频组件查找类 class XVIDEO_CLASS CxSystemDeviceFind 视频捕获类 class XVIDEO_CLASS CxDSVideoCapture 视频压缩类 class XVIDEO_CLASS…
这是一个精练的蓝牙设备查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxBthRadioFind的使用如下: void CUsbScannerDlg::OnBtnLocalBth() { // TODO: Add your control notification handler code here m_list1.ResetContent(); BTH_DEV_INFO bdi = {}; CString str; C…
这是一个精练的蓝牙设备查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxBthRemoteDeviceFind的使用如下: void CUsbScannerDlg::OnBtnRemoteBth() { // TODO: Add your control notification handler code here m_list1.ResetContent(); BTH_DEV_INFO bdi = {}; CStrin…
这是一个精练的无连接套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxUdpSocket的使用如下(以某个叫做CSomeClass的类的相关代码为例): 一.声明无连接套接字对象实例. CxUdpSocket m_usRemoteHost; 二.设置无连接套接字事件通知方式.消息响应或回调函数,任选其一.无连接套接字事件有:缓冲区有数据可接收. void CSomeClass::PreSubclassWindow()…
这是一个精练的串口类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. 串口类CxSerial的使用如下(以某个叫做CSomeClass的类的相关代码为例): 一.声明串口对象实例. CxSerial m_xComm; 二.打开串口. 三.配置串口(可选).通常配置波特率.奇偶校验位.停止位等. 四.设置串口(可选).通常设置缓冲区大小.接收阈值等. 五.设置串口接收缓冲区事件通知方式.消息响应或回调函数,任选其一. 六.侦听串口.…
这是一个精练的客户端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxClientSocket的使用如下(以某个叫做CSomeClass的类的相关代码为例): 一.声明客户端套接字对象实例. CxClientSocket m_csRemoteHost; 二.设置客户端套接字事件通知方式.消息响应或回调函数,任选其一.客户端套接字事件有:缓冲区有数据可读取.与远程主机的连接被断开. void CSomeClass::Pr…
这是一个精练的网络设备查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxNetworkHostFind的使用如下: void CUsbScannerDlg::OnBtnNetworkHost() { // TODO: Add your control notification handler code here m_list1.ResetContent(); NET_HOST_INFO nhi = {}; CxNetwo…
这是一个精练的本地IP查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxLocalHostIPAddrFind的使用如下: XNET_API BOOL GetFirstValidIPAddress(LPTSTR lpszIPAddr) { BOOL bValid = FALSE; CxLocalHostIPAddrFind find; BOOL bRet = find.FindIPAddr(); while (bRet)…
这是一个精练的设备查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxDeviceFind的使用如下: void CUsbScannerDlg::SearchDevice(LPGUID lpguidDev) { m_list1.ResetContent(); HANDLE hDevice; TCHAR szPath[MAX_PATH] = {}; GUID guidCls; CxDeviceFind finder; BOO…
libComm是一个免费的简单的通信库,其中的接口类与函数大都以小写的x打头,来源于我的姓氏首字母(谢欣伦). 下载 Sample using libComm - v1.1 For WinXP libComm - v1.2 For WinXP/Win7 libComm提供三大功能,一是设备查找,二是设备通信,三是辅助通信.其主要的接口类与接口函数如下: 查找类与函数 class XDEVICE_CLASS CxDeviceFind class XDEVICE_CLASS CxDeviceMapF…
很久以前就发现系统自带的时间同步功能很弱,更新时间总是不成功.索性编写一个小软件来更新系统时间,正好用上了我之前写的代码,相关代码可参见文章<化繁为简系列原创教程 - 通信专题 - 无连接套接字类CxUdpSocket的使用>.请大家不吝下载使用,并提出意见和建议. 下载 Sample using libComm - v1.1 For WinXP 下载 Sample using libComm - v1.1 For WinXP…
前一段时间,一位博友发邮件给我.他跟我讲说没太看懂<化繁为简系列原创教程 - 通信专题 - 串口类CxComm的使用>,请我做一个DEMO工程给他.我抽了一天时间编写并上传了一个DEMO工程,后来觉得DEMO仅仅是点到即止,不如做一个通用串口工具.于是,我抽了一周时间编写并上传了一个串口助手软件.请大家不吝下载使用,并提出意见和建议. 下载 Sample using libComm - v1.1 For WinXP 下载 Sample using libComm - v1.1 For WinX…
Win7没有预装摄像头软件,打开摄像头通常需要第三方软件来完成.第三方软件,好的要收费,免费的又没几款,其中功能完整的寥寥可数.正好我在做一个数字摄像头视频捕获的功能,经过两周的整理优化,我做了一个简单完整的摄像头软件.它可以捕获.录制.压缩数字摄像机的数字视频流. 简单的补充一下,数字摄像机是指对外输出数字数据的摄像机,主要类型有: Web Camera,IP Camera,Wifi Camera. 在这里我只要采用Web Camera.凌晨一点多,太晚了,不想写太多描述,直接给出下载链接和截…
转自:http://www.kwstu.com/ArticleView/netmvc_201511132005431321 最近开发手机app需要实现移动支付功能,由于考虑支付安全将支付宝生成签名写到了服务器端,官网给的demo是在客户端的,纠结了几天终于实现了. 注本教程不对支付宝申请,移动开发配置做解释,核心需要注意的地方就是在官方下载的demo中有生成私钥跟公钥的工具,公钥需要在商家管理后台跟支付宝做交换,这个很关键,笔者在调试的时候出现错误了,最后问支付宝官方客服要了这几个信息. 开发思…
转自:http://www.kwstu.com/ArticleView/netmvc_201511132050268716 最近开发手机app需要实现移动支付功能,由于考虑支付安全将微信支付生成签名写到了服务器端,官网给的demo是在客户端的,纠结了几天终于实现了. 注本教程不对微信支付申请,移动开发配置做解释. 开发思路:下载微信移动支付demo,根据demo的代码重新写服务器端,然后将生成的签名信息替换demo里面参数测试服务器端的代码是否成功,然后在写服务器端的返回成功处理程序. 废话不多…
前言 上一篇介绍了简单模式RPC,当数据量大或者需要不断传输数据时候,我们应该使用流式RPC,它允许我们边处理边传输数据.本篇先介绍服务端流式RPC. 服务端流式RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列. 客户端读取返回的流,直到里面没有任何消息. 情景模拟:实时获取股票走势. 1.客户端要获取某原油股的实时走势,客户端发送一个请求 2.服务端实时返回该股票的走势 新建proto文件 新建server_stream.proto文件 1.定义发送信息 // 定义发送请求信息…
常见的client和服务端 client:       浏览器:IE:弹窗体,猎豹:弹窗体.多标签,争强效果 服务端:       server:TomCat:1.处理请求 2.给予应答 想让TomCat为我们工作.那么java写的相关类类必须实现interface Serverlet 浏览器强大之处就在于解析能力,众多格式,都能够解析 服务端和client原理 自己定义服务端: public static void main(String[] args) throws IOException…
早些年用过GDI的同学都知道,用GDI绘图API函数画斜线那个锯齿有多恶心.就像下图第一行的三条斜线: 坦白说,45度斜线在抗锯齿以前还是蛮抗锯齿的,哈哈,抗不抗都没什么差别. 那第二行很自然就看得出是抗锯齿之后的效果. 话不多说,直接给大家上代码. 创建Win32应用程序,在cpp文件的顶部加入GDI+的引用: #include <windows.h> #include <objidl.h> #define GDIPVER 0x0110 #include <gdiplus.…
快速关机Shutdown,含源码. 公司公用的笔记本电脑实在太烂,不知从什么时候开始关机永远都关不了,一直停留在“关闭系统中……”.忍无可忍之下,自己写了一个快速关机程序. 下载: Shutdown_for_WinXP.rar Shutdown_for_Win7-32bit.rar Shutdwon Source Code 源码: BOOL NtExitWindows(UINT uFlags, DWORD dwReason) { HANDLE hToken; TOKEN_PRIVILEGES t…
今天在网上看到一个用桌面背景当做拼图内容的游戏很新颖,反正今天下雨我也闲着,索性用了半天时间做了一个类似的游戏<MyDesktop>.做完后立即分享给了两个朋友,他俩都被吓坏了.现在分享给大家,空闲的时候轻松一下,别被吓到噢. 下载 MyDesktop - v1.2 for WinXP MyDesktop - v1.2for Win7 32bit 下载 MyDesktop - v1.2 for WinXP MyDesktop - v1.2for Win7 32bit…
前段时间朋友介绍了一个最近很火的游戏<Flappy Bird>.在工作之余,我用了三天时间做了一个类似的游戏<Fucking Bird>.一开始分享给了两个女同事,发现她们玩嗨了.看来这个小游戏还不错,随后改了一个BUG,今天分享给大家,空闲的时候轻松一下. 下载 Fucking Bird - v1.7 for WinXP Fucking Bird - v1.7 for Win7 32bit 下载 Fucking Bird - v1.7 for WinXP Fucking Bird…
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9601511.html c++ 网络编程(一)TCP/UDP  入门级客户端与服务端交互代码 网络编程和套接字 网络编程其实和我们计算机上的文件读取操作很类似,通俗地讲,网络编程就是编写程序使两台联网的计算机相互交换数据.那么,数据具体怎么传输呢?其实操作系统会提供名为“套接字”的部件,套接字就是网络数据传输用的软件设备而已.即使你对网络数据传输原理不太熟悉,你也可以通过套接字完成数据传输.因…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9613861.html 好了,继上一篇说到多进程服务端也是有缺点的,每创建一个进程就代表大量的运算与内存空间占用,相互进程数据交换也很麻烦. 本章的I/O模型就是可以解决这个问题的其中一种模型...废话不多说进入主题-- I/O复用技术主要就是select函数的使用. 一.I/O复用预备知识--select()函数用法与作用 select()用来确定一个或多个套接字的状态(更为本质一点来讲是文…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9622548.html 锲子:关于并发服务器中的I/O复用实现方式,前面在网络编程系列四还是五来着????我们讲过select的方式,但select的性能比较低,当连接数量超过几百个的时候就很慢了,并不适合以Web服务器端开发为主流的现代开发环境.因此就有了Linux下的epoll,BSD的kqueue,Solaris的/dev/poll和Windows的IOCP等复用技术.本章就来讲讲Lin…
Hello,I'm Shendi. 这天心血来潮,决定做一个内网穿透的软件. 用过花生壳等软件的就知道内网穿透是个啥,干嘛用的了. 我们如果有服务器(比如tomcat),实际上我们在电脑上开启了服务器别人是访问不到我们的,除非你有公网ip,目前 IPv4已经几近被占完,所以我们想让别人访问到我们的服务器,使用内网穿透是不错的选择 目录 前言 想法 NAT 开始之前(需要的知识) 制作服务端 设计 编写服务端 启动类 创建接收端 实现TCP协议类 整理思路(用户与客户端之间通信图) 实现协议工具类…
下面的实验环境是linux系统. 效果如下: 1.启动服务端程序,监听在6666端口上  2.启动客户端,与服务端建立TCP连接  3.建立完TCP连接,在客户端上向服务端发送消息 4.断开连接 实现的功能很简单,但是对于初来乍到的我费了不少劲,因此在此总结一下,如有错点请各位大神指点指点 什么是SOCKET(套接字): 百度的解释是:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 将计算机比作酒店,那么通过IP寻找主机,就好比通过地址寻址酒店.通过端…
Netty是建立在NIO基础之上,Netty在NIO之上又提供了更高层次的抽象. 在Netty里面,Accept连接可以使用单独的线程池去处理,读写操作又是另外的线程池来处理. Accept连接和读写操作也可以使用同一个线程池来进行处理.而请求处理逻辑既可以使用单独的线程池进行处理,也可以跟放在读写线程一块处理.线程池中的每一个线程都是NIO线程.用户可以根据实际情况进行组装,构造出满足系统需求的并发模型. Netty提供了内置的常用编解码器,包括行编解码器[一行一个请求],前缀长度编解码器[前…
本文首发于本博客,如需转载,请申明出处. 假设 假设你已经了解并实现过了一些OIO消息服务端,并对异步消息服务端更有兴趣,那么本文或许能带你更好的入门,并了解JDK部分源码的关系流程,正如题目所说,笔者将竟可能还原,以初学者能理解的角度,讲诉并构建一个NIO消息服务端. 启动通道并注册选择器 启动模式 感谢Java一直在持续更新,对应的各个API也做得越来越好了,我们本次生成 服务端套接字通道 也是使用到JDK提供的一个方式 open ,我们将启动一个 ServerSocketChannel ,…