python
SoulNov23
那些我们说着永远不分离的朋友,早已散落在天涯,时光的洪流中,我们总会长大。
展开
-
python使用原始套接字发送二层包(链路层帧)
发送端代码:#!/usr/bin/python # -*- coding: UTF-8 -*-import socket import structraw_socket = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(0x1234)) raw_socket.bind(("eth0", 0)) packet = struc原创 2017-09-25 10:01:20 · 6521 阅读 · 2 评论 -
python使用epoll实现的服务端例子
#!/usr/bin/python # -*- coding: UTF-8 -*- import socket import selectsend_data = "hello world!" send_len = len(send_data) recv_len = 1024 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)原创 2017-09-22 18:58:29 · 1183 阅读 · 0 评论 -
源码安装pip
今天本来要使用Twisted,但是公司的编译环境使用的Gentoo,没有yum,apt-get,我每次安装python库都是自己下载源码用python setup.py来编译安装,安装后的库文件在/usr/lib64/python2.7/site-packages目录下,源码安装的在这个目录下库的文件夹名字会带上后缀.egg。最后拷贝库文件到我的运行环境对应目录下面,例如拷贝到了目录/home/t...原创 2017-11-03 16:50:44 · 2899 阅读 · 0 评论 -
python查看模块,对象的函数
这段时间在用libev的python版本事件模型,总共只有一个py.so文件,没有.py文件查看源码查看接口,最开始用shell命令直接查看.so的接口不尽人意。然后发现python提供了查询的接口在代码中可以直接打印出来看。 第一个:dir() 例如 print dir(pyev) 第二个:__dict__ 例如 print pyev.__dict__.items() loop原创 2017-11-18 15:32:45 · 4614 阅读 · 0 评论 -
pymongo连接超时的做法
通常我们连接mongo数据库会这样做: client = pymongo.MongoClient(host, port) 但是会发现一个问题,如果mongo连接不上,会在这里阻塞很久。解决办法可以看官方文档http://api.mongodb.com/python/current/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoCl原创 2017-11-15 20:31:53 · 4872 阅读 · 0 评论 -
python的libev库pyev一点心得
http://pythonhosted.org/pyev/examples.html 这是官方文档给的例子,基本需求对照着看了就可以写了,一般用事件模型,无非就是关心一个有连接可以accept,一个有数据可以read的事件,然后就是定时器,这里都有了。 1.例子中的reset函数 事件每次触发结束了,都要调用reset函数,reset函数的作用是重新注册一次事件,为什么要这么做了?以前用惯了l原创 2017-11-18 16:14:55 · 2654 阅读 · 0 评论