websocketC++Server端简单demo,方便自己添加扩展
2024/8/28 10:03:55 15.02MB websocket C++ Server demo
1
本程序是局域网传送文件java实现(Client)端,配套还有Server端。
2024/8/17 5:29:34 8KB 局域网 文件传送 java
1
1、图书管理系统以UNIX系统文件部分系统调用为基础设计一个简易的图书管理系统。
要求实现:图书的录入、查询、借阅、清理、统计等功能、还要实现对每天的借阅情况进行统计并打印出统计报表,操作界面要尽量完善。
图书资料信息必须保存在文件中。
2、信号通信与进程控制(l)进程的创建:编写一段程序,使用系统调用fork()创建两个或多个子进程。
当此程序运行时,在系统中有一个父进程和其余为子进程在活动。
(2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。
(3)进程通信:①软中断通信;
②在程序中使用实例signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)进行通信操作,观察执行结果,并分析原因。
(4)软中断的捕获与重定义。
首先定义一个服务函数function(),然后利用signal(sig,function)系统调用来实现中断的捕获与改道。
(5)使用操作系统保留给用户的信号SIGUSR1和SIGUSR2进行通信。
(6)扩展程序,使之成为信号或事件驱动的应用程序。
3、管道通信利用UNIX系统提供的管道机制实现进程间的通信。
(1)管道通信。
利用pipe()和lockf()系统调用,编写程序,实现同族进程间的通信。
使用系统调用pipe()建立一条管道线;
创建子进程P1、P2、…。
子进程Pi分别向管道各写信息,而父进程则从管道中读出来自于各子进程的信息,实现进程家族间无名管道通讯。
扩展之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
(2)命名管道通信:利用mkfifo(name,mode)或mknod(name,mode,0)创建一个命名管道,然后利用它和文件部分系统调用实现不同进程间的通信。
改造之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
4、进程间通信(IPC):消息机制(1)消息的创建、发送和接收使用系统调用msgget(),msgsnd(),msgget(),及msgctl()编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为175的消息队列,等待其他进程发来的消息。
当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一个消息后显示一句“(server)received”。
3)CLIENT端使用key为175的消息队列,先后发送类型从10到1的消息,然后退出。
最后的一个消息,即是SERVER端需要的结束信号。
CLIENT每发送一条消息后显示一句“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而实现C/S通讯要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如读取或查询某个文件,或者执行一个shell命令等。
此功能可由设计者自己定义。
在此基础上可以扩展客户端,比如设计一个菜单界面,接收不同的选项,并发送到服务器端,请求对方提供服务。
5、进程间通信(IPC):共享内存机制(1)共享存储区的创建,附接和断接使用系统调用shmget(),shmat(),msgdt(),shmctl(),编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为375的共享区,并将第一个字节置为-1,作为数据空的标志,等待其他进程发来的消息。
当该字节的值发生变化时,表示收到了信息,并进行处理。
然后再次把它的值设为-1。
如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一次数据后显示“(server)received”。
3)CLIENT端建立一个Key为375的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。
CLIENT随即填入9到0。
期间等待Server端的再次空闲。
进行完这些操作后,CLIENT退出。
CLIENT每发送一次数据后显示“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而形成C/S通讯模式要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如
2024/7/19 3:04:26 918KB 操作系统
1
netty的client和server端建立SSL连接,并进行双向的证书验证
2024/6/19 12:47:24 61KB netty ssl
1
socket转串口通讯及源码,适合做设备通讯的朋友们,包括server端和client端,C#
2024/6/16 1:10:52 540KB 串口通讯 可用
1
蘑菇街开源的IM项目TeamTalk,包括Android、iOS、Win、Mac客户端以及Server端、管理后台、环境自动部署,大赞!支持文字、音频、图片、表情、文件传输、屏幕振动、分组等
2024/5/3 7:33:43 49.91MB 蘑菇街,IM ,TeamTalk
1
SharpSCADA-工控网关,轻量级组态软件.===================简介-------------采用技术:开发语言:C#运行环境:.NETFramework数据库:SQLServer功能:-------------*1.轻量级工控网关:支持当前几种主要的工业协议如西门子的Profinet、AB的EtherNetIPs、施耐德的Modbus和OPC。
采用类OPC接口网关。
*2.数据采集、归档、预警及配置工具支持实时数据采集、历史数据归档、变量触发预警,并使用TagConfig工具简单的配置实现。
*3.人机界面(设计时和运行时)*设计时:采用MicrosoftVisualStudio+设计器插件(在VS2010-VS2015社区版测试通过)。
通过继承HMIControlBase接口并书写极少量的代码即可实现复杂的图元组件。
支持图元拖放、组合、连线、变量绑定及编辑功能。
*运行时:MicrosoftVisualStudio编译运行为可执行文件。
环境准备-------------Windows:支持的操作系统:Windows7/8/10/Server2008.NETFramework4.0/4.5/4.6SQLServerExpress2014/2008项目安装-------------下载最新版本,解压后:*1.可直接打开项目工程文件测试源代码:..\SCADA\Program下运行DataExchange.sln(支持VS2010-2015各版本)*2.可运行可执行文件测试:Server端测试:在目录..\SCADA\Program\BatchCoreTest\bin\Debug下运行BatchCoreTest.exeClient端测试:在目录..\SCADA\Program\CoreTest\bin\Debug下运行CoreTest.exe请参考Document文件夹中的教程:《部署流程》和《设计流程》,如有问题可参考《FAQ》文档。
QuickStart-------------*1.还原数据库*2.修改配置文件并复制到C盘根目录下*3.修改数据库内驱动程序的路径*4.运行DEMO具体流程可参看《部署流程》。
开发工具推荐-------------VisualStudio/Blend:做为组态设计器,推荐VS2010,VS2015版本。
项目结构-------------驱动程序目前支持:*已发布:内存数据库ModbusTCP/RTU、OPCDA、SiemensS300/200/1200/1500、Panasonic、OmronUDP*后续发布:DDE、ABEtherNetIP、Mitsubishi文件目录-------------*Database目录[存放数据文件]:db2014.bak文件为SQLServer2014数据备份文件。
db2008.bak文件为SQLServer2008数据备份文件。
test.opf为Kepserver4.5数据文件(可通过该软件还原为变量表)。
两个csv文件为两组变量。
*DataConfig目录[存放配置文件]:host.cfg为主配置文件,第一行为网关服务器名/IP地址。
如在本地测试,按默认lochost即可。
client.xml为客户端配置文件。
server.xml为网关服务配置文件。
*dll目录[存放驱动程序及第三方组件]:如OPCDriver即为OPC通讯组件。
Dynamicdatadisplay:开源归档数据显示组件,http://dynamicdatadisplay.codeplex.com/WPFToolkit:WPF开源扩展工具包,http://wpftoolkit.codeplex.comlibnodave:西门子驱动开源库(https://github.com/netdata/libnodave)*TagConfig目录[存放配置工具]:可方便配置驱动、组、变量、报警、量程等信息。
支持导入导出。
*Program目录[存放源代码]:BatchCoreTest工程为网关服务器测试代码(控制台显示)。
BatchCoreService工程同BatchCoreTest,但可编译为Windos服务。
DataService工程为框架及主要接口组件。
CoreTest工程为样例文件。
包含一系列界面元素。
HMIControl工程为图元组件。
可支持工具栏拖放。
LinkableContr
2024/4/15 14:54:13 46.94MB 开源组态软件
1
基于netty与protobuf的Android手机视频实时传输。
先启动server端的T6Client,然后启动手机上的apk,点连接,传输,即可将手机摄像头拍摄的视频传输到pc端
2024/2/19 20:22:33 4.14MB Android 视频 实时传输 netty
1
在一台物理机器上安装setup-usbnet-Server.msi后插入令牌或usb设备共享,然后在需要使用令牌的机器上安装setup-usbnet-client.msi,连接server端,选择需要的令牌或usb设备即可
2023/10/15 4:19:50 7.04MB desk\usb-over-network 4.3
1
完整的代码,带数据库文件,包含客户端+服务端
2023/10/14 10:46:24 8.02MB C# MES 源代码
1
共 34 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡