# 协程应用:爬虫
from gevent import monkey;monkey.patch_all()
import gevent
import requests
import time def get_page(url):
print('GET: %s' %url)
response=requests.get(url)
if response.status_code == 200:
print('%d bytes received from %s' %(len(response.text),url)) start_time=time.time()
gevent.joinall([
gevent.spawn(get_page,'https://www.python.org/'),
gevent.spawn(get_page,'https://www.yahoo.com/'),
gevent.spawn(get_page,'https://github.com/'),
])
stop_time=time.time()
print('run time is %s' %(stop_time-start_time))
#服务端
from gevent import monkey;monkey.patch_all()
from socket import *
import gevent #如果不想用money.patch_all()打补丁,可以用gevent自带的socket
# from gevent import socket
# s=socket.socket() def server(server_ip,port):
s=socket(AF_INET,SOCK_STREAM)
s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
s.bind((server_ip,port))
s.listen(5)
while True:
conn,addr=s.accept()
gevent.spawn(talk,conn,addr) def talk(conn,addr):
try:
while True:
res=conn.recv(1024)
print('client %s:%s msg: %s' %(addr[0],addr[1],res))
conn.send(res.upper())
except Exception as e:
print(e)
finally:
conn.close() if __name__ == '__main__':
server('127.0.0.1',8080) #客户端
#_*_coding:utf-8_*_
__author__ = 'Linhaifeng' from socket import * client=socket(AF_INET,SOCK_STREAM)
client.connect(('127.0.0.1',8080)) while True:
msg=input('>>: ').strip()
if not msg:continue client.send(msg.encode('utf-8'))
msg=client.recv(1024)
print(msg.decode('utf-8'))

最新文章

  1. android studio 导入一个已有的android studio project作为lib使用
  2. shiro 更改登录的用户名
  3. python基础语法(2)
  4. java中实现链表(转)
  5. 在LaTeX中利用preview宏包和tikz宏包生成单图pdf
  6. PHP 提取图片img标记中的任意属性
  7. Android 自定义组件随着手指自动画圆
  8. Gulp-入门教程 搭配环境
  9. JavaWeb——文件上传和下载
  10. [ios2]发布时去除NSLog打印
  11. UVA - 11082 Matrix Decompressing(最大流+行列模型)
  12. [学习笔记] 模拟退火 (Simulated Annealing)
  13. Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-2.xml, reason:
  14. TUN/TAP编程实现
  15. Rest概念学习
  16. 基于结构化平均感知机的分词器Java实现
  17. 【洛谷】【动态规划+单调队列】P1714 切蛋糕
  18. oracle统计字符串包含字符个数
  19. Objecttive-C各种问题
  20. ant的原理

热门文章

  1. redis主从持久化讨论
  2. js - 模块化开发的兼容exports的套路
  3. PyCharm 环境配置
  4. javacript计时
  5. NGINX扩展
  6. 在 Windows 上安装 TensorFlow(转载)
  7. imx6背光驱动调试
  8. Android.mk解析
  9. python django -1
  10. Linux 常用文件管理命令