快速搭建H十人斗公牛架设简单服务器.docVIP

快速搭建H十人斗公牛架设简单服务器.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
快速搭建H十人斗公牛架设简单服务器.doc

从零开始搭建一个简易的H5十人斗公牛架设服务器(抠212303635论坛)其实大家大可不必被服务器这三个字吓到,一个入门级后端框架,所需的仅仅是HTTP相关的知识与应用这些知识的编程工具。据本人的经验,绝大多数人拥有搭建后端所涉及到的基础理论知识,但是缺乏能将之应用出去的工具,而本文即是交给读者这样一个工具,并能够运用之来实现一个可用的后端。 本文以基础理论知识的运用为主,并不会在服务器的稳定性安全性上做探究,同时为了避免大家在实现中被各种编程语言的独有特性所困扰,本文选用选 HYPERLINK /wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 \t /wierton/article/details/_blank Python作为编程语言,并会附上详细的代码。 一、最初的尝试  HYPERLINK /wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE \t /wierton/article/details/_blank 超文本传输协议(HyperText Transfer Protocol)是迄今为止互联网应用最为广泛的协议,平时大家在浏览器上浏览网页,逛淘宝,刷博客,上知乎均是基于这种协议。 在互联网七层架构中HTTP位于TCP/UDP之上,这意味着我们我们可以在TCP/UDP层收发HTTP层的数据,而能够帮助我们在TCP/UDP层收发数据的最原始的一个工具—— HYPERLINK /p/e062b3dd110c \t /wierton/article/details/_blank 套接字。 几乎每一门编程语言都会原生支持套接字,所以本文选用套接字讲解,而非python语言本身拿手的第三方库,套接字与基础知识之间直接对接,这样不仅简化学习成本,同时易于读者从底层了解学习HTTP,也便于理解各种第三方库的实现机理,可谓一举三得。 在套接字的帮助下,我们可以写下第一个服务器端的框架: #coding=utf-8import refrom socket import * def handle_request(request): return Welcome to wierton\s site s = socket(AF_INET, SOCK_STREAM) s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) s.bind((, 8080)) s.listen(10)while 1: conn,addr = s.accept() print(connected by {}.format(addr)) recv_data = conn.recv(64*1024) resp_data = handle_request(recv_data) conn.sendall(resp_data) conn.close() s.close() 上述框架能够干嘛呢?想要实验上述代码的效果,你只要在浏览器中输入:8080,然后你就会看到一行字符串Welcome to wiertons site.,如图: INCLUDEPICTURE \d http://upload-images.jianshu.io/upload_images/2839672-9392bd.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240 \* MERGEFORMATINET  怎么样,是不是很有成就感,你的代码“成功”响应了浏览器的请求并回复了一个你设定好的字符串。 或许新入门的你对上述代码有所疑惑,不着急,我们来慢慢过一遍上述代码。 s = socket(AF_INET, SOCK_STREAM)创建一个流式套接字用于TCP通信 s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)设定当前套接字,使其允许被复用 s.bind((, 8080))将当前套接字绑定到ip地址为,端口号为8080的连接上 注:虽然HTTP默认端口为80,但在linux下,监听80号端口需要root权限。 s.listen(10)监听当前套接字,设定并发数为10,即在多客户端并发请求时,第11个及其以后的连接请求会被拒绝 conn,addr = s.accept()响应一个连接请求 recv_data = conn.recv(64*1024)接收来自客户端的数据,并设置缓冲区大小为64KB resp_data = handle

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档