问题列表 - 第17226页

一个干净,轻量级的替代Python的扭曲?

很久以前我写了一个我多线程的网络蜘蛛,以便同时发生并发请求.那是在我的Python青年时代,在我知道GIL及其为多线程代码创建的相关问题之前的几天(IE,大多数时候东西最终都被序列化了!)......

我想重做这段代码,使其更强大,性能更好.我基本上有两种方法可以做到这一点:我可以在2.6+中使用新的多处理模块,或者我可以选择某种类型的基于反应器/事件的模型.我宁愿做后者,因为它更简单,更不容易出错.

所以问题涉及哪种框架最适合我的需求.以下是我目前了解的选项列表:

  • Twisted:Python反应器框架的祖父:看起来很复杂而且有点臃肿.小任务的陡峭学习曲线.
  • Eventlet:来自lindenlab的人.基于Greenlet的框架,适用于这些类型的任务.我看了一下代码,但它并不太漂亮:非pep8兼容,分散打印(人们为什么要在框架中执行此操作!?),API似乎有些不一致.
  • PyEv:不成熟,现在似乎没有人使用它虽然它基于libevent所以它有一个坚实的后端.
  • asyncore:来自stdlib:über低级别,看起来很多涉及到的事情只是为了得到一些实际的东西.
  • 龙卷风:虽然这是面向服务器的产品,旨在服务于动态网站,但它确实具有异步HTTP客户端和简单的ioloop.看起来它可以完成工作但不是它的目的.[编辑:不幸在Windows上运行,这对我来说很重要 - 这是我支持这个蹩脚平台的要求]

我有什么遗漏吗?当然必须有一个适合简化的异步网络库的最佳点的库!

[编辑:非常感谢intgr指向此页面的指针.如果你滚动到底部,你会看到有一个非常好的项目列表,旨在以某种方式解决这个任务.事实上,自Twisted开始以来事情确实已经发生了变化:人们现在似乎更倾向于基于协同例程的解决方案而不是传统的反应堆/回调导向解决方案.这种方法的好处是更清晰,更直接的代码:我在过去肯定发现过,特别是在C++中使用boost.asio时,基于回调的代码可能会导致难以理解的设计并且相对模糊不清未经训练的眼睛.使用协同例程允许您编写至少看起来更加同步的代码.我想我现在的任务是找出我喜欢的这些库中的哪一个,并试一试!很高兴我现在问...]

[编辑:也许对任何跟随或偶然发现这个问题或者在任何意义上关心这个话题的人都感兴趣:我发现了一个非常好的关于这个工作的可用工具的当前状态的文章]

python networking asynchronous twisted

219
推荐指数
10
解决办法
6万
查看次数

是否有相当于LPTSTR的字符串?

是否有相当于LPTSTR的字符串?我知道字符串和wstring.有没有tstring?

c++ windows stdstring

1
推荐指数
1
解决办法
948
查看次数

在Asp.net上检测浏览器关闭

我想在注销时做一些功能,如果用户直接关闭了他的浏览器,那么同样的功能想做,我们不能在页面卸载,因为我的网站有超过100个页面因为这将在每个页面重定向页

谢谢

javascript c# asp.net

7
推荐指数
2
解决办法
2万
查看次数

如何将UITextview设置为喜欢Rounded Rect文本字段?

我使用文本视图作为评论作曲家.

在属性检查器中,我找不到任何类似边框样式属性的东西,以便我可以使用圆角矩形,类似于UITextField.

所以,问题是:如何风格UITextView像一个UITextField带有圆角的矩形?

uitextview ios

169
推荐指数
7
解决办法
13万
查看次数

设置winsock recvfrom的超时时间

我试图设置一个阻塞套接字,在尝试端口上的recvfrom()16 ms后超时.平台是Windows.我在网上看了很多例子,看起来很简单,我似乎无法让它发挥作用.任何帮助,将不胜感激!

#include <winsock2.h>
#include <string>

#pragma comment(lib, "ws2_32.lib")

#define PORT_NUM 8001

int main(void)
{
  std::string localIP;
  sockaddr_in localAddr;
  sockaddr_in remoteAddr;
  hostent* localhost;
  char buffer[1024];
  WSADATA wsData;

  int result = WSAStartup(MAKEWORD(2,2), &wsData);  // winsock version 2

  localhost = gethostbyname("");
  localIP   = inet_ntoa(*(in_addr*)*localhost->h_addr_list);

  localAddr.sin_family       = AF_INET;
  localAddr.sin_port         = htons(PORT_NUM);             // Set Port Number
  localAddr.sin_addr.s_addr  = inet_addr(localIP.c_str());  // Set IP Address

  int mHandle = WSASocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 0, 0);

  if(mHandle == INVALID_SOCKET)
    return 1;


  if(bind(mHandle, (SOCKADDR*)&localAddr, sizeof(localAddr)) == SOCKET_ERROR)
    return 1; …
Run Code Online (Sandbox Code Playgroud)

c sockets networking network-programming

16
推荐指数
3
解决办法
4万
查看次数

在Visual C#中播放声音

我想为我的Visual C#程序添加声音效果.最简单的方法是什么?

c# visual-studio

2
推荐指数
2
解决办法
4373
查看次数

在犀牛嘲笑中的部分参数匹配

在我的单元测试而不是IgnoreArguments中,我想在rhino mocks测试中使用一些参数的部分匹配.怎么做?

谢谢,约翰

.net unit-testing rhino-mocks

11
推荐指数
2
解决办法
2825
查看次数

如何在SQLite中启用LIMIT for DELETE?

使用PHP,我有一个简单的数据库,可以存储具有相同内容的多个项目.我想在使用DELETE时删除第一次出现的实例.

如何使用PHP在SQLite中启用LIMIT for DELETE?

sqlite limit sql-delete

7
推荐指数
3
解决办法
1万
查看次数

通过WLAN的Java套接字?

我有2台Windows PC通过ad-hoc wlan网络连接.
使用这个现有的连接,我可以通过套接字在这些PC之间进行通信吗?
我可以在一台PC上打开服务器套接字并将另一台PC作为客户端并连接到另一台PC,然后通过此连接发送和接收数据吗?
我是否需要特定的api或者我可以使用java.net.Socketjava.net.ServerSocket

java sockets wlan

1
推荐指数
1
解决办法
1796
查看次数

ASP.NET MVC 2中的DataAnnotationsModelBinder问题

每个人都试过mvc官方网站上的DataAnnotations教程?它对我不起作用.
当我尝试提交已编辑的产品时,我有以下错误消息:
找不到方法:'System.Collections.Generic.IDictionary`2 System.Web.Mvc.ModelBindingContext.get_ValueProvider()'.
我正在使用ASP.NET MVC 2预览2.任何想法为什么会发生这种情况?我注册了他们需要的模型粘合剂.
可能有人遇到过一篇帖子或文章,指导如何让这个工作?

asp.net-mvc data-annotations asp.net-mvc-2

2
推荐指数
1
解决办法
1106
查看次数