摘自计算机网络原理书(前言):Thisbookisnowinitsfourthedition.Eacheditionhascorrespondedtoadifferentphaseinthewaycomputernetworkswereused.Whenthefirsteditionappearedin1980,networkswereanacademiccuriosity.Whenthesecondeditionappearedin1988,networkswereusedbyuniversitiesandlargebusinesses.Whenthethirdeditionappearedin1996,computernetworks,especiallytheInternet,hadbecomeadailyrealityformillionsofpeople.Thenewiteminthefourtheditionistherapidgrowthofwirelessnetworkinginmanyforms.Thenetworkingpicturehaschangedradicallysincethethirdedition.Inthemid-1990s,numerouskindsofLANsandWANsexisted,alongwithmultipleprotocolstacks.By2003,theonlywiredLANinwidespreadusewasEthernet,andvirtuallyallWANswereontheInternet.Accordingly,alargeamountofmaterialabouttheseoldernetworkshasbeenremoved.However,newdevelopmentsarealsoplentiful.Themostimportantisthehugeincreaseinwirelessnetworks,including802.11,wirelesslocalloops,2Gand3Gcellularnetworks,Bluetooth,WAP,i-mode,andothers.Accordingly,alargeamountofmaterialhasbeenaddedonwirelessnetworks.Anothernewly-importanttopicissecurity,soawholechapteronithasbeenadded.
2024/9/8 19:05:34 8.16MB 计算机网络
1
正常使用该程序手柄设定(仅在罗技手柄F710做过测试):DX键拨到X,MODE灯灭掉,VIBRATION打开(按下时震动时间较长即为打开),该程序只能对一个手柄进行操作,但修改后可对最多4个手柄进行操作.1.按下InitializeJoystick按键,测试是否能够读取到手柄数据来测试是否有手柄连接,若有手柄连接,则开启读取手柄数据线程,并且enable震动手柄按键.2.在读取手柄数据线程中,读取tigger以及thumbstick控制量数据并输出到对应控件中,若某一按键被按下,对应的button也会enable.3.当按下vibratebutton,手柄会高速震动,直到关闭程序或者stopvibration.4.当关闭程序时,读取手柄控制bool型变量为false,使得读取手柄数据线程终止,等待读取手柄数据线程终止后程序退出.
2024/9/5 18:54:06 90KB XInput Joystick 手柄 编程
1
STM32F4的16通道ADC采集例程,注释清晰,/****************************************************************************PCLK2=HCLK/2下面选择的是2分频ADCCLK=PCLK2/8=HCLK/8=168/8=21MADC采样频率:SamplingTime+ConversionTime=480+12cycles=492cycConversionTime=21MHz/492cyc=42.6ksps.*****************************************************************************//*ADCCommon配置----------------------------------------------------------*/ADC_CommonInitStructure.ADC_Mode=ADC_Mode_Independent;ADC_CommonInitStructure.ADC_Prescaler=ADC_Prescaler_Div2;ADC_CommonInitStructure.ADC_DMAAccessMode=ADC_DMAAccessMode_Disabled;ADC_CommonInitStructure.ADC_TwoSamplingDelay=ADC_TwoSamplingDelay_5Cycles;ADC_CommonInit(&ADC;_CommonInitStructure);
2024/7/24 13:50:45 7.52MB STM32F4 STM32 ADC
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
Pajek是大型复杂网络分析工具,是用于研究目前所存在的各种复杂非线性网络的有力工具。
Pajek向以下网络提供分析和可视化操作工具:合著网、化学有机分子、蛋白质受体交互网、家谱、因特网、引文网、传播网(AIDS、新闻、创新)、数据挖掘(2-mode网)等。
2024/7/3 22:29:23 25.18MB Pajek
1
《关键设计报告:改变过去影响未来的交互设计法则》讲述了交互设计所有最基本的东西:交互设计的发展历史和由来,交互设计领域里的关键人物,交互设计的基本原则和方法和交互设计的著名案例。
尤其有价值的是在第十章里面介绍了IDEO的创新方法卡片和IDEO做交互设计的过程。
数码技术与网络应用家喻户晓,无所不在。
《关键设计报告:改变过去影响未来的交互设计法则》从我们朝夕相伴、不足为奇的设计,到尚未体验并涉足的设计,从鼠标操作模式的设计,到台式电脑界面的设计、笔记本电脑的诞生、掌上电脑的成功问世、平板电脑的笔与纸、数码相机的互动模式、进入电玩游戏的角色扮演、i-mode吸引日本1/4的人注册手机、Google如何占领了网上搜索引擎、iPod横扫全球的设计秘密……可谓一部尚未完成的交互设计史。
2024/6/11 9:58:57 6.72MB 交互设计
1
用来压缩和解压的,以下是部分函数:intcompress(Bytef*dest,uLongf*destLen,constBytef*source,uLongsourceLen);intcompress2(Bytef*dest,uLongf*destLen,constBytef*source,uLongsourceLen,intlevel);intuncompress(Bytef*dest,uLongf*destLen,constBytef*source,uLongsourceLen);typedefvoidpgzFile;gzFilegzopen(constchar*path,constchar*mode);gzFilegzdopen(intfd,constchar*mode);intgzsetparams(gzFilefile,intlevel,intstrategy);intgzread(gzFilefile,voidpbuf,unsignedlen);intgzwrite(gzFilefile,constvoidpbuf,unsignedlen);intVAgzprintf(gzFilefile,constchar*format,...);intgzputs(gzFilefile,constchar*s);char*gzgets(gzFilefile,char*buf,intlen);intgzputc(gzFilefile,intc);intgzgetc(gzFilefile);intgzflush(gzFilefile,intflush);z_off_tgzseek(gzFilefile,z_off_toffset,intwhence);z_off_tgztell(gzFilefile);intgzrewind(gzFilefile);intgzeof(gzFilefile);intgzclose(gzFilefile);constchar*gzerror(gzFilefile,int*errnum);
2024/5/19 1:06:11 79KB zlib123-dll.zip
1
timescaledb-parallel-copy快速将csv文件中的数据导入到数据库中vscode调试配置"name":"timescaledb-parallel-copy","type":"go","request":"launch","mode":"auto","program":"${fileDirname}","env":{},"args":["--connection=host=192
2024/5/18 21:25:49 6.69MB go postgresql
1
敏捷开发思想首先,编写类定义;
其次,编写测试用例;
第三,实现类;
第四,实现测试用例;
第五,反复测试修改。
准备工作安装PHPUnit自动安装pearinstallphpunit手动安装下载http://pear.phpunit.de/get/PHPUnit-3.3.9.tgz,解压到PHP目录,将pear-phpunit和pear-phpunit.bat,复制到PHP目录,重命名为phpunit和phpunit.bat,将PHP目录加入PATH路径。
编辑phpunit,修改为:编辑phpunit.bat,假设PHP路径为D:\PHP,修改为:@echooffphp-dsafe_mode=OffD
2024/2/7 2:15:23 906KB 使用单元测试工具
1
DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;
如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。
在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。
这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
  通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。
下面是DES原理及实现步骤,以及VC++关于DES加密解密的详细源程序
2024/1/29 13:56:55 2.14MB DES 加密 解密
1
共 38 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡