jjzjj

Asyncore

全部标签

python - 没有从 bittorrent 对等握手中接收到任何数据

我在bittorrent协议(protocol)上遇到了一些问题。我正在向一些同行发送握手消息。我让我的客户基本上连接到列表中的每个对等点,然后发送“握手”。代码如下-peer_id='autobahn012345678bit'peer_id=peer_id.encode('utf-8')pstr='BitTorrentprotocol'pstr=pstr.encode('utf-8')pstrlen=chr(19)pstrlen=pstrlen.encode('utf-8')reserved=chr(0)*8reserved=reserved.encode('utf-8')我正在发送

python-2.7 - 带有 UDP 的 Python asyncore

我可以在asyncore中编写UDP客户端/服务器应用程序吗?我已经使用TCP编写了一个。我的愿望是将它与对UDP的支持相集成。我的问题以前没有被以下人问过/回答过:PythonasyncoreUDPserver 最佳答案 经过长时间的搜索,答案是否。Asyncore假定底层套接字是面向连接的,即TCP。 关于python-2.7-带有UDP的Pythonasyncore,我们在StackOverflow上找到一个类似的问题: https://stackove

python - Asyncore 循环和 raw_input 问题

我正在尝试学习asyncore模块。所以我决定开发一个聊天程序。我必须同时收听网络和广播udp包。但问题是当用户输入消息时,用户无法看到其他用户发送的其他消息。我应该怎么办?我的代码:#!/usr/bin/python#-*-coding:utf-8-*-importasyncoreimportsocketclassListener(asyncore.dispatcher):def__init__(self,port):asyncore.dispatcher.__init__(self)self.port=portself.create_socket(socket.AF_INET,so

python - 使用 asyncore 读取网站

我想异步阅读网站,据我所知,urllib无法做到这一点。现在我尝试使用普通套接字进行阅读,但HTTP让我很痛苦。我遇到了各种时髦的编码,例如transfer-encoding:chunked,必须手动解析所有这些东西,我觉得现在编码C,而不是python。有没有像URLLib这样更好的异步方式?我真的不想重新实现整个HTTP规范,因为之前都已经完成了。Twisted目前不是一个选项。问候,汤姆 最佳答案 您可以自己实现一个异步调用。对于每个调用,启动一个新线程(或尝试从池中获取一个线程)并使用回调来处理它。你可以用装饰器很好地做到这

python - asyncore 回调启动线程...可以吗?

我不熟悉asyncore,并且除了一些扭曲教程的介绍外,对异步编程的了解非常有限。我最熟悉线程并在我所有的应用程序中使用它们。一个特定的应用程序使用couchdb数据库作为其接口(interface)。这涉及对数据库进行长轮询以查找更改和更新。我用于couchdb的模块是couchdbkit.它使用asyncore循环来监视这些更改并将它们发送到回调。因此,我从这个回调中得出我启动工作线程的地方。混合异步和线程编程似乎有点粗暴。我真的很喜欢couchdbkit,但不想在我的程序中引入问题。所以,我的问题是,从异步回调中触发线程是否安全?这是一些代码...defdispatch(chan

python - asyncore 关闭旧套接字

我在python上使用asyncore获得了tcp服务器:classAsyncClientHandler(asyncore.dispatcher_with_send):def__init__(self,sock):asyncore.dispatcher_with_send.__init__(self,sock)self.setsockopt(socket.IPPROTO_TCP,socket.TCP_NODELAY,1)self.setsockopt(socket.SOL_SOCKET,socket.SO_KEEPALIVE,1)self.message=""self.protocol

python - urllib2 和 asyncore 之间的性能差异

我对这个简单的python脚本的性能有一些疑问:importsys,urllib2,asyncore,socket,urlparsefromtimeitimporttimeitclassHTTPClient(asyncore.dispatcher):def__init__(self,host,path):asyncore.dispatcher.__init__(self)self.create_socket(socket.AF_INET,socket.SOCK_STREAM)self.connect((host,80))self.buffer='GET%sHTTP/1.0\r\n\r\

python - 如何在不阻塞任何东西的情况下处理 python 类中的 asyncore?

我需要创建一个类来接收和存储SMTP消息,即电子邮件。为此,我根据发布的示例使用asyncorehere.但是,asyncore.loop()处于阻塞状态,因此我无法在代码中执行任何其他操作。于是我想到了使用线程。这是一个示例代码,显示了我的想法:classMyServer(smtpd.SMTPServer):#derivefromthepythonserverclassdefprocess_message(..):#overwriteasmtpd.SMTPServermethodtobeabletohandlethereceivedmessages...self.list_email