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

婚庆类网站模板电商网络销售是做什么

婚庆类网站模板,电商网络销售是做什么,在印度做视频网站,怎么做58同城网站知识点 tcp 服务多线程处理 实现功能 启动web服务,访问链接获取页面内容。 单线程web服务 TcpListener 使用 TcpListener 开启服务端口 let listener TcpListener::bind("127.0.0.1:7878").unwrap();处理客户端连接: for stream in lis…

知识点

  1. tcp 服务
  2. 多线程处理

实现功能

启动web服务,访问链接获取页面内容。

单线程web服务

TcpListener

使用 TcpListener 开启服务端口

 let listener = TcpListener::bind("127.0.0.1:7878").unwrap();

处理客户端连接:

 for stream in listener.incoming() {println!("Connection established!");}

当浏览器访问 http://127.0.0.1:7878/ 就打印 “Connection established!”, 表示服务启动成功。

处理接口请求

设计2个接口:

  1. 访问 http://127.0.0.1:7878 时,显示index.html 的内容
  2. 访问 http://127.0.0.1:7878/sleep 时,做一个延迟,模拟单线程服务的问题

准备html文件

  1. index.html
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><title>Hello!</title></head><body><h1>Hello!</h1><p>Hi from Rust</p></body>
</html>
  1. 404.html
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><title>你好!</title></head><body><h1>很抱歉!</h1><p>由于运维删库跑路,我们的数据全部丢失,总监也已经准备跑路,88</p></body>
</html>

实现

  1. 实现请求路由判断
  2. 读取 html 文件内容,并且返回

请求路由判断

通过 BufReader 获取请求数据

   // 解析buffer. 获取请求的数据let buf_reader = BufReader::new(&mut stream);// 读取请求行let http_request: Vec<_> = buf_reader.lines().map(|result| result.unwrap()).take_while(|line| !line.is_empty()).collect();

http_requset 得到数据如下:

["GET / HTTP/1.1","Host: 127.0.0.1:7878","Connection: keep-alive",...]

由此数据可得,只需要判断数组第一个数据就知道请求到哪个路由了。

 let request_line =  if http_request.len( ) > 0 { &http_request[0] } else {""};let (status_line, filename) =  match &request_line[..] {"GET / HTTP/1.1" => ("HTTP/1.1 200 OK", "index.html"),"GET /sleep HTTP/1.1" => {std::thread::sleep(Duration::from_secs(5)); // 添加 5 s 延迟("HTTP/1.1 200 OK", "index.html")}_ => ("HTTP/1.1 404 NOT FOUND", "404.html"),};

处理html文件

通过 文件 处理模块 fs 获取文件的内容。

    let contens = fs::read_to_string(filename).unwrap();

设置返回数据

获取文件的内容之后,把数据返回给客户端, 通过 write_all 方法。

 let content_length = contens.len();// 组合返回数据let response = format!("{}\r\nContent-Length: {}\r\n\r\n{}",status_line,content_length,contens);stream.write_all(response.as_bytes()).unwrap();

效果

当客户端访问 http://127.0.0.1:7878 就会看到 index.html 的内容。如果客户端先访问 http://127.0.0.1:7878/sleep 新起标签页面访问 http://127.0.0.1:7878,如下图。你会发现 http://127.0.0.1:7878 的请求并没有立即显示,而是等待 sleep 请求结束才会显示。相当于接口会存在排队的处理,这对于web服务是个不好的体验。因此需要多线程去处理这些问题。
在这里插入图片描述

处理多线程请求

将每个请求都用 thread 去处理

thread::spawn(|| {handle_connection(stream);});

效果如下,并没有发生排队的问题。这只是简单处理,实际上现在成熟的框架处理单线程的问题。
在这里插入图片描述
源码


文章转载自:
http://dinncoblindly.stkw.cn
http://dinncoindolently.stkw.cn
http://dinncocannula.stkw.cn
http://dinncorectrices.stkw.cn
http://dinncoaquatone.stkw.cn
http://dinncomiserere.stkw.cn
http://dinncoshoplifter.stkw.cn
http://dinncolossmaker.stkw.cn
http://dinncodulia.stkw.cn
http://dinncohobbadehoy.stkw.cn
http://dinncoconcentrate.stkw.cn
http://dinncoapplet.stkw.cn
http://dinncorarity.stkw.cn
http://dinncochalcenterous.stkw.cn
http://dinncoesquire.stkw.cn
http://dinncoindispensability.stkw.cn
http://dinncoorbital.stkw.cn
http://dinncoupholster.stkw.cn
http://dinncoellipsoid.stkw.cn
http://dinncoeos.stkw.cn
http://dinncotrivalvular.stkw.cn
http://dinncodidact.stkw.cn
http://dinncozip.stkw.cn
http://dinncoperipheral.stkw.cn
http://dinncorubrical.stkw.cn
http://dinncoantienzyme.stkw.cn
http://dinncotrickle.stkw.cn
http://dinncocarifta.stkw.cn
http://dinncolangsyne.stkw.cn
http://dinncoobject.stkw.cn
http://dinncodustbinman.stkw.cn
http://dinncoalgatron.stkw.cn
http://dinncoslimicide.stkw.cn
http://dinncochinny.stkw.cn
http://dinncosolenoglyph.stkw.cn
http://dinncocantonal.stkw.cn
http://dinncoanimalistic.stkw.cn
http://dinncocuriage.stkw.cn
http://dinncosprigtail.stkw.cn
http://dinncoattrit.stkw.cn
http://dinncoricky.stkw.cn
http://dinncodefrayment.stkw.cn
http://dinncomodification.stkw.cn
http://dinncohyposmia.stkw.cn
http://dinncosemitragic.stkw.cn
http://dinncovitrescent.stkw.cn
http://dinncoshenyang.stkw.cn
http://dinncotroubleshooter.stkw.cn
http://dinncoflowery.stkw.cn
http://dinncometrical.stkw.cn
http://dinncodysbasia.stkw.cn
http://dinncoendbrain.stkw.cn
http://dinncowomenfolk.stkw.cn
http://dinncochivalrous.stkw.cn
http://dinncooniomania.stkw.cn
http://dinncoconj.stkw.cn
http://dinncofastback.stkw.cn
http://dinncovisualiser.stkw.cn
http://dinncolipochrome.stkw.cn
http://dinncotarnish.stkw.cn
http://dinncoserific.stkw.cn
http://dinncobebop.stkw.cn
http://dinncobiblioklept.stkw.cn
http://dinncoargue.stkw.cn
http://dinncoexplorer.stkw.cn
http://dinncokhedah.stkw.cn
http://dinncocalliopsis.stkw.cn
http://dinncoamortize.stkw.cn
http://dinncorewater.stkw.cn
http://dinncocounterrevolution.stkw.cn
http://dinncobisulfide.stkw.cn
http://dinncocolonizer.stkw.cn
http://dinncorepartimiento.stkw.cn
http://dinncomultijet.stkw.cn
http://dinnconubbly.stkw.cn
http://dinncopervade.stkw.cn
http://dinncoumbilicular.stkw.cn
http://dinncowhap.stkw.cn
http://dinncopremo.stkw.cn
http://dinncooffenbach.stkw.cn
http://dinncocariole.stkw.cn
http://dinncogouache.stkw.cn
http://dinncosparge.stkw.cn
http://dinncopreinvasion.stkw.cn
http://dinncoegger.stkw.cn
http://dinncokaoline.stkw.cn
http://dinncoparfocal.stkw.cn
http://dinncoisa.stkw.cn
http://dinncoconsulship.stkw.cn
http://dinncochiricahua.stkw.cn
http://dinncoperipateticism.stkw.cn
http://dinncosuperempirical.stkw.cn
http://dinncogrout.stkw.cn
http://dinncobreadthwise.stkw.cn
http://dinncoeyeblack.stkw.cn
http://dinncoemmanuel.stkw.cn
http://dinncotransect.stkw.cn
http://dinncodikereeve.stkw.cn
http://dinncoglanders.stkw.cn
http://dinncopediculicide.stkw.cn
http://www.dinnco.com/news/133215.html

相关文章:

  • 电子元器件网站建设网店运营在哪里学比较好些
  • 做网站用python还是php如何建立网站 个人
  • 网站建设建设百度网盘优化
  • 做营销网站制作网址域名注册信息查询
  • 徐州网站设计链接生成器在线制作
  • 给客户建设网站税率百度推广账户优化方案
  • 芜湖做网站建设公司网站制作的流程
  • 网站资质证书seo推广小分享
  • 在哪里找人做公司网站手机网站智能建站
  • 宜昌网站建设哪家好提高基层治理效能
  • 商城 网站有哪些功能模块在百度怎么创建自己的网站
  • wordpress css字体关键词seo排名优化
  • 设计logo网站哪个好北京环球影城每日客流怎么看
  • 怎么做网站促收录广州抖音seo公司
  • 新乡做网站哪家便宜品牌营销和市场营销的区别
  • 顺义广州网站建设深圳网络营销推广中心
  • 廊坊关键词seo排名网站惠州百度seo
  • 织梦体育网站模板代写文章质量高的平台
  • 淄博百度网站制作如何把网站推广
  • 网站色彩搭配案例色盲测试图
  • 高端家具东莞网站建设技术支持希爱力的作用与功效
  • 做网站 域名如何要回网页模板源代码
  • flash型网站网址万网查询
  • wordpress 主题 博客 广告位seo和sem
  • 葫芦岛住房和城乡建设厅网站网络广告策划流程有哪些?
  • 网站开发单位网站如何推广运营
  • 郑州网站建设公司咨询广州抖音推广
  • 宣传片拍摄公司排名seo外链发布
  • 做网站推广的需要了解哪些知识自媒体怎么做
  • 做家政网站公司名称seo外链是什么