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

长沙 做网站网站制作公司 信科网络

长沙 做网站,网站制作公司 信科网络,网络公司经营范围大全,简洁类wordpress主题实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件#xff0c;并…实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件并制作两个网页来验证 web 服务器能否成功运行。 三、验证处理http请求和应对错误请求显示错误信息两种情况。 实验过程 用HTML 语言编写制作三个简易网页1. 主页包括欢迎信息和一个跳转链接2. 跳转页包含一个图片和提示信息3. 404错误处理页当跳转到无法访问的地址时就来到这个页面。 编写C代码使用Boost.Asio库用来处理 TCP 连接和数据的读写。 使用Boost.Filesystem获取文件的扩展名和检查文件是否存在。监听8888端口的访问以及实现一些获取返回信息和跳转页面的逻辑。然后编译链接运行 ​​​​​​​Linux运行在虚拟机环境中先通过ifconfig获取局域网内的IP192.168.146.138然后在物理机上运行浏览器在地址栏中输入192.168.146.138:8888进入主页依次测试跳转和输入错误地址的情况。 关键代码讲解 主要处理逻辑代码首先它读取请求行方法、路径和协议然后根据路径找到相应的文件。如果文件不存在它会返回一个 404 错误页面如果文件存在它会返回文件的内容。主函数中只需创建了一个 TCP 接受器然后进入一个无限循环接受新的连接并处理请求。 void handle_request(tcp::socket socket) {try {boost::asio::streambuf request;boost::asio::read_until(socket, request, \r\n);std::string method, path, protocol;std::istream request_stream(request);request_stream method path protocol;if (path /) {path /index.html;}std::string full_path root_dir path;std::ifstream file(full_path, std::ios::binary);boost::asio::streambuf response;std::ostream response_stream(response);if (!file) {// Open the 404.html filestd::ifstream file_404(root_dir /404.html, std::ios::binary);if (!file_404) {response_stream HTTP/1.0 500 Internal Server Error\r\n;response_stream Connection: close\r\n\r\n;std::cout Response: 500 Internal Server Error std::endl;} else {response_stream HTTP/1.0 404 Not Found\r\n;response_stream Content-Type: text/html\r\n;response_stream Connection: close\r\n\r\n;response_stream file_404.rdbuf();std::cout Response: 404 Not Found std::endl;}} else {response_stream HTTP/1.0 200 OK\r\n;response_stream Content-Type: get_content_type(full_path) \r\n;response_stream Connection: close\r\n\r\n;response_stream file.rdbuf();std::cout Response: 200 OK, Content-Type: get_content_type(full_path) std::endl;}boost::asio::write(socket, response);socket.shutdown(tcp::socket::shutdown_both);} catch (boost::system::system_error e) {if (e.code() ! boost::asio::error::eof) {throw; // Rethrow if its not the expected exception.}// Handle EOF exception here if necessary.std::cout Connection closed by client. std::endl;} } 运行示例 1当输入IP:8888实现访问主页。 2当点击“Next Page”会转到下一个界面展示预设好的内容。 3当输入一个错误的网址时例如aaa.html将会显示404界面。 相关代码 BJTU_CS_Learning/computernetwork at main · JJLi0427/BJTU_CS_Learning (github.com)
http://www.dnsts.com.cn/news/136593.html

相关文章:

  • 哪里有网站设计的公司wordpress主题制作slider
  • 电脑外设网站建设论文网站开发文档是什么概念
  • 服务器 做网站网站建设服务费入
  • php做网站的分站杭州公司注册费用
  • 网站问责建设书微信开发者平台工具
  • 做冷库的网站网站导航你一定会回来感谢我的
  • php做网站有哪些优点wordpress倒计时代码
  • 抚顺网站建设wordpress自动重命名
  • 网站建设公司营销话术企业管理咨询公司名称大全
  • 新网站建设需要什么公众号app下载
  • 沈阳建设银行网站js网站开发
  • 国外网站怎么浏览百度趋势搜索
  • 一个考试网站怎么做苏州实力做网站公司有哪些
  • 建设文明网 联盟网站的中铁建设集团内网登录
  • 抚顺网站建设上海龙雨建设工程有限公司网站
  • 建设一个网站平台的费用吗加强门户网站建设的讲话
  • 暴走漫画网站建设目的百度推广怎么推
  • 建设网站的网站叫什么男软件公司是做什么的
  • 南通网站托管青岛网络科技公司排名
  • 网站淘宝客怎么做的公司部门英文缩写简称大全
  • wordpress设计网站关键词排名优化易下拉系统
  • 奉贤网站建设在家做网站怎么赚钱
  • 网站数据分析表格安徽做网站
  • 贵阳做网站kuhugzpr培训
  • 商业网站建设案例视频asp.net mvc网站发布教程
  • 昆明 网站 制作wordpress视频播放插件
  • 建设游戏运营网站开展工作内容公网ip做网站访问不
  • 网帆网站建设移动应用开发是学什么的
  • 东莞市住房和城乡建设厅网站网站后续建设说明
  • 专业手机网站公司吗汝阳网站开发