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

宁波建站模板源码今天发生的重大新闻

宁波建站模板源码,今天发生的重大新闻,汕头网站推广系统,关于网页制作1. 静态Web服务器的问题 目前的Web服务器#xff0c;不能支持多用户同时访问#xff0c;只能一个一个的处理客户端的请求#xff0c;那么如何开发多任务版的web服务器同时处理 多个客户端的请求? 可以使用多线程#xff0c;比进程更加节省内存资源。 多任务版web服务器…1. 静态Web服务器的问题 目前的Web服务器不能支持多用户同时访问只能一个一个的处理客户端的请求那么如何开发多任务版的web服务器同时处理 多个客户端的请求? 可以使用多线程比进程更加节省内存资源。 多任务版web服务器程序的实现步骤: 当客户端和服务端建立连接成功创建子线程使用子线程专门处理客户端的请求防止主线程阻塞。 把创建的子线程设置成为守护主线程防止主线程无法退出。 2. 静态Web服务器-多任务版的示例代码 import socket import threading# 处理客户端的请求 def handle_client_request(new_socket):# 代码执行到此说明连接建立成功recv_client_data new_socket.recv(4096)if len(recv_client_data) 0:print(关闭浏览器了)new_socket.close()return# 对二进制数据进行解码recv_client_content recv_client_data.decode(utf-8)print(recv_client_content)# 根据指定字符串进行分割 最大分割次数指定2request_list recv_client_content.split( , maxsplit2)# 获取请求资源路径request_path request_list[1]print(request_path)# 判断请求的是否是根目录如果条件成立指定首页数据返回if request_path /:request_path /index.htmltry:# 动态打开指定文件with open(static request_path, rb) as file:# 读取文件数据file_data file.read()except Exception as e:# 请求资源不存在返回404数据# 响应行response_line HTTP/1.1 404 Not Found\r\n# 响应头response_header Server: PWS1.0\r\nwith open(static/error.html, rb) as file:file_data file.read()# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)else:# 响应行response_line HTTP/1.1 200 OK\r\n# 响应头response_header Server: PWS1.0\r\n# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)finally:# 关闭服务与客户端的套接字new_socket.close()# 程序入口函数 def main():# 创建tcp服务端套接字tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用, 程序退出端口立即释放tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 绑定端口号tcp_server_socket.bind((, 9000))# 设置监听tcp_server_socket.listen(128)while True:# 等待接受客户端的连接请求new_socket, ip_port tcp_server_socket.accept()print(ip_port)# 当客户端和服务器建立连接程创建子线程sub_thread threading.Thread(targethandle_client_request, args(new_socket,))# 设置守护主线程sub_thread.setDaemon(True)# 启动子线程执行对应的任务sub_thread.start()if __name__ __main__:main()3. 小结 当客户端和服务端建立连接成功创建子线程使用子线程专门处理客户端的请求防止主线程阻塞。 while True:conn_socket, ip_port tcp_server_socket.accept()# 开辟子线程并执行对应的任务sub_thread threading.Thread(targethandle_client_request, args(conn_socket,))把创建的子线程设置成为守护主线程防止主线程无法退出。 # 开辟子线程并执行对应的任务sub_thread threading.Thread(targethandle_client_request, args(conn_socket,))sub_thread.setDaemon(True) # 设置守护主线程sub_thread.start()
http://www.pierceye.com/news/963868/

相关文章:

  • 网站备案怎样提交管局网页电商设计
  • 郑州华恩科技做网站怎么样网络竞价推广托管公司
  • 都江堰住房和城乡建设厅网站哈尔滨网站建设方案维护
  • 九江网站网站建设原始传奇经典复古
  • 宽屏营销型网站源码安微省住房和城乡建设厅网站
  • 做暖视频网站免费搜索引擎营销的模式有
  • 网站建设需要的条件榆林北京网站建设
  • 分类信息网站推广的意义wordpress安装教程wamp
  • 免费自助建站全系统建设银行永泰支行网站
  • 建网络商城网站如何开公司做网站
  • 长春网站制作色块网站设计
  • 通明建设网站网站怎么黑
  • 学校网站怎么查询录取html5浏览器
  • 网站开发 技术问题页面模版 公众号
  • 宜阳县网站建设网络运营者应当为()
  • 做网站的人能看到浏览的人的信息吗青岛市最大的网络公司是哪里
  • 网站建设 千助黄冈网站推广软件ios
  • 网站制作视频教程全报价单模板表格
  • 包头市做网站哪个wordpress nginx伪静态规则
  • 深圳建网站哪家好专业网站建设服务包括
  • 做静态头像网站网站做百度竞价利于百度优化
  • 网站建设属于税收建立网站后怎样收费
  • 婚礼礼网站如何做的云南推广公司
  • 模板建站流程seo优化推广
  • 龙岗网络推广深圳网站建设我的世界的头怎么做视频网站
  • 高明网站建设首选公司深圳市建设安监站网站
  • 宁波网站建设科技有限公司注册开发公司
  • 什么网站有女人跟狗做的和平东路网站建设
  • 绍兴手机网站建设wordpress 文字排版
  • 宁波网站设计公司有几家企业网站建设计划书