Python编写的SocketUdp通讯源码,展示了Python绑定IP监听Udp端口;
解析端口接收到的数据包获取读卡器上传的读卡数据;
向读卡器发送读卡、写卡、驱动读卡器显示文字、播报TTS语音等指令;
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
任务记录器一个小型的Web应用程序,用于记录我的日常活动。
用C#和Blazor制成(服务器端)我用它来跟踪我的日常任务并为我的工作创建一些报告。
用法克隆cdTaskLog\TaskLog.WebClientdotnetbuilddotnetrun在控制台中显示的地址中打开一个Web浏览器(默认值:https://localhost:5001)产品特点允许创建任务(通过按+按钮)允许通过将任务拖到垃圾箱图标来删除它允许更改特定任务的给定时间。
显示当天的总和通过将任务拖动到左侧栏上的任务,可以将任务分配给其他任务允许使用左上/右上按钮移动当前显示的日期通过将任务拖到新的日期,可以将任务移动到其他日期新作业将添加到jobs.json(是,手动)样品待定导出到CSV文件查看/生成报告有一个月的视图实施状态处理模式(当前只是在此处被黑客入侵)改善UI设计实现一个数据库以停止使用json文件(隐私,右)更多
2024/7/17 9:38:12 765KB mvvmcross blazor MvvmCrossC#
1
电子商务系统简要介绍北邮大三上学期C++课程设计(2)C++课程设计作业。
实现了超市购物和银行存取款两个部分。
主要使用C++完成,基于Qt的图形化界面,使用SQLite作为数据库,涉及了基本的select、delete等语法。
两个程序(Store和Bank)之间通过Socket通信,使用TCP协议。
数据结构设计了银行账户类account,以及具有继承关系的商品类product以及它的子类们书籍类book、食品类food等等。
数据库为账户信息、商品信息和购物车设置了表accountInfo、productInfo和cart。
通过商品id将productInfo和accountInfo相关联,通过账户名将accountInfo和cart关联起来。
Socket通信使用了Qt内置的类QtTcpSocket,通过在银行设置QTcpServer作为服务器端,在商店设置QTcpSocket作为客户端,当用户购买物品结算时,商店向银行发出请求进行验证,验证成功则银行扣款,商店确认订单。
2024/7/16 7:52:18 110KB 电子商务系统 超市 电商 课程设计
1
征服conquer的服务器端,数据库,安装说明客户端和教程自己找
2024/7/16 2:42:01 16MB server 模拟器 私服
1
基于Smart4418开发板+Qt开发的离子色谱仪,分为客户端和服务器端,Tcp通信,多线程,图形化折线
2024/7/15 8:04:56 416KB 离子色谱仪
1
基于Web的温度监控远程控制系统是在基于PXA270-RP开发板硬件平台和嵌入式Linux操作系统上,采用嵌入式Web服务器对温度监控进行控制,系统分为客户端主机和现场嵌入式Web服务器控制设备两部分。
整个远程控制系统采用了B/S架构,远程控制端即客户端浏览器,可以通过网络向Web服务器端发送数据。
嵌入式控制系统即在开发板上搭建Web服务器,接受客户端浏览器发送的数据,进而通过嵌入式Linux系统对温度监控进行控制。
系统采用Boa作为嵌入式Web服务器,负责接收和分析用户请求,传送静态页面和调用后台CGI程序,通过编写相关的HTML网页和CGI程序,在客户端通过web浏览器以网页方式访问嵌入式设备,并通过调用CGI程序实现远程温度监控。
2024/7/14 7:42:36 1.58MB 温度监控
1
unity3d5x以前,可以用NetworkView.RPC的方式进行通信。
5x,之后,虽然还可以用networkview建立服务器和客户端,但是NetworkView.RPC的通信方式被取消了。
这里使用的是unity3d5x中,Networking下的NetworkServer和NetworkClient建立服务器端和客户端进行通信。
2024/7/7 17:45:39 1.9MB unity3d 通信
1
客户端为SocketIO服务器端为JavaNettyWebChat聊天不错的选择
2024/7/3 5:23:38 95KB Netty SocketIo webChat
1
TCP报文接收发送测试工具,可模拟客户端,也可模拟服务器端,可自动发送报文,对用来调试TCP报文传输调试是个非常好的测试工具。
2024/6/30 9:45:05 209KB TCP报文测试
1
共 470 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡