没搭建过服务器的人想搭建一个确实有点头疼,ME…

不过搭建出来后,如标题,没搭过的骚年继续,assert(reader instanceof 没服务器经验);

环境

Ubuntu15.04

Server

  • 创建webserver3g.py
###########################################################################
# Concurrent server - webserver3g.py                                      #
#                                                                         #
# Tested with Python 2.7.9 & Python 3.4 on Ubuntu 14.04 & Mac OS X        #
###########################################################################
import errno
import os
import signal
import socketSERVER_ADDRESS = (HOST, PORT) = '', 8888
REQUEST_QUEUE_SIZE = 1024def grim_reaper(signum, frame):while True:try:pid, status = os.waitpid(-1,          # Wait for any child processos.WNOHANG  # Do not block and return EWOULDBLOCK error)except OSError:returnif pid == 0:  # no more zombiesreturndef handle_request(client_connection):request = client_connection.recv(1024)print(request.decode())http_response = b"""\
HTTP/1.1 200 OKHello, World!
"""client_connection.sendall(http_response)def serve_forever():listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)listen_socket.bind(SERVER_ADDRESS)listen_socket.listen(REQUEST_QUEUE_SIZE)print('Serving HTTP on port {port} ...'.format(port=PORT))signal.signal(signal.SIGCHLD, grim_reaper)while True:try:client_connection, client_address = listen_socket.accept()except IOError as e:code, msg = e.args# restart 'accept' if it was interruptedif code == errno.EINTR:continueelse:raisepid = os.fork()if pid == 0:  # childlisten_socket.close()  # close child copyhandle_request(client_connection)client_connection.close()os._exit(0)else:  # parentclient_connection.close()  # close parent copy and loop overif __name__ == '__main__':serve_forever()
  • 运行
$ python webserver3g.py

Client

private void httpGet() {String url = "http://192.168.0.101:8888/hello";OkHttpUtils.get().url(url).build().execute(new StringCallback() {@Overridepublic void onError(Call call, Exception e) {}@Overridepublic void onResponse(String response) {Log.d(TAG, response);}});
}

**注意:**1.添加INTERNET权限;2.添加compile 'com.zhy:okhttputils:2.2.0'作为网络请求;3.将192.168.0.101换成自己Server的IP;4.手机与Server在同一路由

参考

http://codingpy.com/article/build-a-simple-web-server-part-three/

python搭建简单本地服务器相关推荐

  1. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Red ...

  2. python服务端语言_使用Python实现简单的服务器功能

    socket接口是实际上是操作系统提供的系统调用.socket的使用并不局限于Python语言,你可以用C或者Java来写出同样的socket服务器,而所有语言使用socket的方式都类似(Apach ...

  3. Window系统下搭建GIT本地服务器详细教程

    文章目录 说明 软件 安装配置 设置windows service方式启动GitBlit 说明 1.因为信息安全 2.商业机密 3.所以就要做本地git服务 软件 这里搭建Git本地服务器我用的工具是 ...

  4. Win10系统上搭建GIT本地服务器

    由于网上在window下搭建本地服务器的教程较少,基本上都是Linux系统下的教程.所以就在这里写下这篇博客,面向初使用Git的新手. 这里搭建Git本地服务器我用的工具是Git2.9.2和Gitbl ...

  5. Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码

    CSDN GitHub Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码 AderXCoding/system/tools/lxr 本作品采用知识共享署名-非商业性使用-相同方式共享 ...

  6. linux下简单的邮件服务器搭建,linux中搭建简单邮件服务器

    linux中搭建简单邮件服务器 发布时间:2008-09-29 10:06:09来源:红联作者:tvnet 在rh5下默认是安装sendmail的,也就是说可以实现发信了,如果要实现在oe中接收信件, ...

  7. 利用nginx搭建简单图片服务器实现负载均衡

    在我们搭建一个网站的时候,往往有时候会加载更多的图片,如果都从tomcat服务器来获取静态资源,这样会增加我们服务器的负载,使得服务器运行 速度非常慢,这时我们可以使用nginx服务器来加载这些静态资 ...

  8. 苹果手机ios搭建服务器linux,iOS 利用CocoaHttpServer搭建手机本地服务器

    1.首先导入第三方 目录结构 屏幕快照 2017-07-25 下午1.39.53.png 然后导入你需要加载的html资源 17656F3B-8000-42A3-BA37-182924DAA1CF.p ...

  9. 搭建PHP本地服务器(XAMPP)

    1.下载XAMPP集成包 https://www.apachefriends.org/download.html 2.启动前修改配置文件httpd.conf的端口号,例如:Listen 8080 3. ...

最新文章

  1. 转载【C】堆区和栈区的区别
  2. 理解人类世界的常识对于人工智能是一项挑战
  3. win7下搭建cocos2d-x androi开发环境不用cygwin的方法
  4. java简单springboot系统_Springboot系列 3 - 建立简单的用户登录系统
  5. 前端学习(2479):接口文档使用
  6. ip地址合不合法怎么看_电子印章合不合法?两部门再发意见认定
  7. html 拖放实现拼图游戏,Canvas drag 实现拖拽拼图小游戏
  8. artemis服务_artemis小结
  9. as3 Box2d Hello box2d
  10. python解释器配置_Python解释器的配置
  11. text 热敏打印机_便携热敏打印机API参考手册.pdf
  12. android最强管理软件root,SuperSU Pro v2.82中文专业版-超强安卓手机root工具
  13. word添加多个目录
  14. Boot Loader点点滴滴(转)
  15. 为什么主机IP地址通常以192.168开头?
  16. OpenGL 阴影图之二
  17. 串口屏之------Usart GPU 使用手册
  18. vsCode 快捷键
  19. html5 canvas绘制图形,html5 Canvas绘制图形入门详解
  20. python如何使用matplotlib画散点图使不同类别的点有不同的形状和颜色?

热门文章

  1. 风云编程python基础语法(6)
  2. I2C 连接 12864 OLED 屏幕
  3. pytest和allure生成测试报告
  4. 【智能物流】200亿规模的制造企业,如何规划供应链物流体系?
  5. Rocket MQ 问题集
  6. GOROOT 和 GOPATH 的区别
  7. 第九届全球云计算大会·中国站倒计时一个月!一文揭秘重磅神秘大咖
  8. APICloud 平台常用技术点汇总讲解
  9. 车载以太网测试:从入门到入土
  10. 法猿生存计划-在大选前,该公司希望做一些事情:分类