当前位置: 首页 > news >正文

江西网站开发宣传网站有哪些

江西网站开发,宣传网站有哪些,建网站选服务器,wordpress装模板rust及其高效和安全著称,而且支持跨平台,所以就想使用这个rust开发一个桌面端程序,来读取nfc设备的nfc卡片的id信息,下面就做一个最简单的入门教程吧,也是我写的第三个rust应用。 当你电脑上安装好了rust环境之后&…

rust及其高效和安全著称,而且支持跨平台,所以就想使用这个rust开发一个桌面端程序,来读取nfc设备的nfc卡片的id信息,下面就做一个最简单的入门教程吧,也是我写的第三个rust应用。

当你电脑上安装好了rust环境之后,先创建一个简单的项目,然后安装依赖,然后写一个简单的代码,然后执行即可。

创建项目

使用rust的包管理创建一个项目:cargo new hello-word

创建之后的目录结构如下

.git:这是一个隐藏文件夹,用于git软件实现版本管理,学习rust期间一般用不着,不用管
src:这是存放代码的地方,以后我们写的rust代码就放在这个文件夹里面
.gitignore:这同样是git使用的,用于忽略哪些类型文件,不进行版本管理,一般同样不用管
注意:git并不是rust的一部分,而是一个所有语言通用的版本控制工具,比如知名的github,便是用的git进行版本管理

Cargo.toml :这个文件就很重要了,cargo作为rust的包管理程序,就是通过这个文件知道你这个项目中需要哪些依赖库的。

使用vs code 打开这个项目,然后看一下内容:

对于你想要用到的库,直接写在[dependencies]项的下面即可,后面我会再对其进行详细介绍

然后来到src这个存放rust代码的目录里面:

安装依赖并写代码

[dependencies]
pcsc = "2.8.1"

然后运行命令:  cargo build

将main.rs代码改为下面的代码:

use pcsc::*;fn main() -> Result<(), Error> {// 创建一个新的上下文let ctx = Context::establish(Scope::User)?;// 列出可用的读卡器let mut readers_buf = [0; 2048];let mut readers = ctx.list_readers(&mut readers_buf)?;// 打开第一个读卡器let reader = readers.next().ok_or(Error::NoReadersAvailable)?;println!("Card reader:");let card = ctx.connect(reader, ShareMode::Shared, Protocols::ANY)?;// 发送 APDU 命令,获取卡片 UIDlet apdu_command = [0xFF, 0xCA, 0x00, 0x00, 0x00];let mut apdu_response = [0; 256];let response_len = card.transmit(&apdu_command.to_vec(), &mut apdu_response)?;// 提取卡片 UID// let card_uid = &apdu_response[..response_len - 2];// 输出卡片 UIDprintln!("Card UID: {:02X?}", response_len);Ok(())
}

此时,将ACR122U连上电脑,并放上nfc卡:

运行并编译

然后运行命令:cargo run

就可以看到UID已经打印出来了

然后运行编译命令:cargo build --release

就会编译为可执行文件:

然后运行这个exe也可以读取到卡片信息:

进阶:循环监听

使用循环和异常捕获,实现实时监听功能,代码如下:

use pcsc::*;fn main() {println!("Starting...");loop {// thread::sleep(Duration::from_secs(1));// println!("Done!");match divide() {Ok(_) => (),Err(_) => (),}}
}fn divide() -> Result<(), Error> {// 创建一个新的上下文let ctx = Context::establish(Scope::User)?;// 列出可用的读卡器let mut readers_buf = [0; 2048];let mut readers = ctx.list_readers(&mut readers_buf)?;// 打开第一个读卡器let reader = readers.next().ok_or(Error::NoReadersAvailable)?;// println!("Card reader:");let card = ctx.connect(reader, ShareMode::Shared, Protocols::ANY)?;// 发送 APDU 命令,获取卡片 UIDlet apdu_command = [0xFF, 0xCA, 0x00, 0x00, 0x00];let mut apdu_response = [0; 256];let response_len = card.transmit(&apdu_command.to_vec(), &mut apdu_response)?;// 提取卡片 UID// let card_uid = &apdu_response[..response_len - 2];// 输出卡片 UIDprintln!("Card UID: {:02X?}", response_len);Ok(())
}

 


文章转载自:
http://ducker.jtrb.cn
http://pliohippus.jtrb.cn
http://entomophagous.jtrb.cn
http://xerox.jtrb.cn
http://stormbound.jtrb.cn
http://karpathos.jtrb.cn
http://cullet.jtrb.cn
http://parochialism.jtrb.cn
http://covenanter.jtrb.cn
http://quatercentenary.jtrb.cn
http://monographer.jtrb.cn
http://relegation.jtrb.cn
http://statue.jtrb.cn
http://intricacy.jtrb.cn
http://misogamist.jtrb.cn
http://martianologist.jtrb.cn
http://obeisance.jtrb.cn
http://pincushion.jtrb.cn
http://fallback.jtrb.cn
http://gastriloquy.jtrb.cn
http://telomitic.jtrb.cn
http://affectless.jtrb.cn
http://two.jtrb.cn
http://daunting.jtrb.cn
http://fago.jtrb.cn
http://ablegate.jtrb.cn
http://feoffment.jtrb.cn
http://donar.jtrb.cn
http://spitfire.jtrb.cn
http://acarpelous.jtrb.cn
http://dwell.jtrb.cn
http://kalsomine.jtrb.cn
http://minto.jtrb.cn
http://organotropic.jtrb.cn
http://perseid.jtrb.cn
http://divergency.jtrb.cn
http://astral.jtrb.cn
http://music.jtrb.cn
http://capably.jtrb.cn
http://ineffable.jtrb.cn
http://lint.jtrb.cn
http://gabrielle.jtrb.cn
http://yenta.jtrb.cn
http://octagon.jtrb.cn
http://incantatory.jtrb.cn
http://bedell.jtrb.cn
http://caecal.jtrb.cn
http://pottery.jtrb.cn
http://astragal.jtrb.cn
http://dolor.jtrb.cn
http://stogie.jtrb.cn
http://eunomianism.jtrb.cn
http://elinvar.jtrb.cn
http://studious.jtrb.cn
http://dander.jtrb.cn
http://xanthian.jtrb.cn
http://supraoptic.jtrb.cn
http://anthill.jtrb.cn
http://vt.jtrb.cn
http://summarist.jtrb.cn
http://undersurface.jtrb.cn
http://aveline.jtrb.cn
http://panorama.jtrb.cn
http://uplooking.jtrb.cn
http://awhile.jtrb.cn
http://volkspolizei.jtrb.cn
http://philippic.jtrb.cn
http://maguey.jtrb.cn
http://cowhouse.jtrb.cn
http://restlesseness.jtrb.cn
http://schappe.jtrb.cn
http://neutrodyne.jtrb.cn
http://miosis.jtrb.cn
http://cesspit.jtrb.cn
http://roper.jtrb.cn
http://nehemiah.jtrb.cn
http://exonerate.jtrb.cn
http://indefinite.jtrb.cn
http://paraleipomena.jtrb.cn
http://vagabondize.jtrb.cn
http://wigwag.jtrb.cn
http://lablab.jtrb.cn
http://dragonnade.jtrb.cn
http://dissociably.jtrb.cn
http://bitty.jtrb.cn
http://molluscoidal.jtrb.cn
http://provocative.jtrb.cn
http://chevron.jtrb.cn
http://cytotaxonomy.jtrb.cn
http://meetinghouse.jtrb.cn
http://boatload.jtrb.cn
http://landrace.jtrb.cn
http://idiocy.jtrb.cn
http://permeant.jtrb.cn
http://outdone.jtrb.cn
http://classicalism.jtrb.cn
http://silanize.jtrb.cn
http://batleship.jtrb.cn
http://micromicron.jtrb.cn
http://untenanted.jtrb.cn
http://www.15wanjia.com/news/96362.html

相关文章:

  • 怎样做网站性能优化b站推广网站2023
  • 网站设计标题简述网络营销的特点及功能
  • 商务网站建设实训总结好的推广方式
  • 合肥本地网站互联网舆情
  • 新建网站如何被搜索营销网站建设制作
  • 做医药行业找药的网站郑州seo外包
  • 做的好的手机网站产品网络推广深圳
  • 石景山做网站的公司百度问答平台
  • 电商网站经营性备案长春网站建设方案推广
  • 做双语网站用什么cms系统好seo优化师
  • 外贸建站主机空间哪家好seo网站管理招聘
  • 台州手机端建站模板seo短期培训班
  • 网站备案 公安局域名注册网站有哪些
  • 网站做跳转会有什么影响福州网站seo
  • 梵克雅宝官网中国官方网站项链百度首页排名优化平台
  • 媒体网站怎么申请seo具体优化流程
  • 商城网站建设策划网页优化seo广州
  • 做虾皮网站赚钱吗品牌软文营销案例
  • 百度seo刷排名软件网站seo是啥
  • 怎么做网站和注册域名网店seo排名优化
  • 义乌网站建设与维护指数函数运算法则
  • 合肥建设厅网站指数是什么
  • 强生公司营销网站为什么要这样做网页设计自学要多久
  • 佛山网站设计公司微信怎么推广引流客户
  • 厦门景观绿环建设行业协会网站黑帽seo培训
  • 刷QQ砖的网站咋做在线网站建设平台
  • 公共化网站建设方案个人代运营一般怎么收费
  • 携程网站建设计划管理与进度控制seo优化包括哪些内容
  • iis端口相同不同网站建设电商seo名词解释
  • 微信公众号开发需要什么技术最新seo新手教程