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

企业网站发布图片文章策划书案例范文

企业网站发布图片文章,策划书案例范文,php网站免费模板,南通通州区网站制作知识点 tcp 服务多线程处理 实现功能 启动web服务#xff0c;访问链接获取页面内容。 单线程web服务 TcpListener 使用 TcpListener 开启服务端口 let listener TcpListener::bind(127.0.0.1:7878).unwrap();处理客户端连接#xff1a; for stream in lis…知识点 tcp 服务多线程处理 实现功能 启动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个接口 访问 http://127.0.0.1:7878 时显示index.html 的内容访问 http://127.0.0.1:7878/sleep 时做一个延迟模拟单线程服务的问题 准备html文件 index.html !DOCTYPE html html langenheadmeta charsetutf-8titleHello!/title/headbodyh1Hello!/h1pHi from Rust/p/body /html404.html !DOCTYPE html html langenheadmeta charsetutf-8title你好!/title/headbodyh1很抱歉!/h1p由于运维删库跑路我们的数据全部丢失总监也已经准备跑路88/p/body /html实现 实现请求路由判断读取 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://www.hkea.cn/news/14522955/

相关文章:

  • 网站制作 呼和浩特深圳公司注册地址变更
  • 怎么在国税网站上做实名认证巨鹿企业做网站
  • 购物网站模板合肥网站建设模板
  • 广源建设集团有限公司网站平面设计公司图片
  • 海门网站制作动漫网站设计报告
  • wordpress可以问答seo关键词排名优化怎么样
  • 苏州专门网站wordpress的安装教程视频
  • 怎样选择高性价比的建站公司企业注册信息
  • 网站建设分为哪几个步骤汕头网站建设报价
  • 绵阳市建设工程监督网站楼盘网站模板
  • 左右左布局网站建设读经典做临床报名网站
  • 番禺网站建设怎样专业的网页设计服务公司
  • 网站域名要实名认证吗go网站做富集分析
  • 忆唐网不做网站做品牌申京效率值联盟第一
  • 临沂网站建设举措wordpress插件安装本地
  • 企业网站建设记什么会计科目淄博网站制作网页公司
  • 网站标题关键词长度德尔普网络做网站怎么样
  • 人社局网站群建设工作方案成都建站模板公司
  • 个人建站步骤wordpress 自定义网址
  • 2017做网站挣钱域名是什么结构称为域名空间
  • 在哪个网站可以查做项目中标的对战平台网站怎么建设
  • 搭建网站后的网址网站建设灬金手指下拉
  • 建网站和app北京装修设计公司排行
  • 网站开发平台及常用开发工具免费微信小程序免费制作平台
  • 临沂建设公司网站免费查询网
  • wordpress企业网站主题合肥光束网站建设
  • linux系统怎么做网站沈阳个人网站建设代理品牌
  • 先做网站还是app拜年图片制作
  • 电子商务网站建设的可行性分析包括赣州人才招聘网
  • 学习php网站建设商机创业网