相关疑难解决方法(0)

多核/多处理器上的TwistedWeb

在运行TwistedWeb服务器时,人们使用什么技术来使用多个处理器/核心?有推荐的方法吗?

我的基于twisted.web的Web服务在Amazon EC2实例上运行,该实例通常具有多个CPU核心(8,16),并且该服务所做的工作类型受益于额外的处理能力,所以我非常想使用那.

据我所知,可以在多个Twisted实例的前面使用haproxy,squid或配置为反向代理的Web服务器.实际上,我们目前正在使用这样的设置,nginx用作在同一主机上运行的几个上游twisted.web服务的反向代理,但每个服务在不同的端口上.

这工作正常,但我真正感兴趣的是,没有"前置"服务器的解决方案,但所有扭曲的进程以某种方式绑定到同一个套接字并接受请求.这样的事情甚至可能......还是我疯了?操作系统是Linux(CentOS).

谢谢.

安东.

twisted multiple-instances twisted.web

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

可以在同一台计算机上的多个应用程序接收UDP广播吗?

例如,假设我有一个"智能"温度计,每隔N秒将当前温度广播为UDP数据报.

现在,我可以编写一个侦听这些消息并以图形方式显示它们的客户端,并且我可以让该客户端同时在多台计算机上运行.到目前为止没问题.

但是,当我尝试在同一台Windows计算机上运行客户端的两个实例时,我会遇到有关尝试" 绑定到已使用的端口 "的错误.

这是:-

  • 答:就像所有操作系统上的UDP广播一样?
  • B:Windows网络堆栈的限制?
  • C:或者,可能是我正在阅读数据报的方式中的一个错误?

如果A或B,有什么办法围绕它.

如果是C,那么我会发布一些代码..

networking udp tcp broadcast

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

unix 中的组播 IPC 选项

在以下 IPC 选项列表中,可以执行多播(即 1 个发送方和多个接收方):

  • 信号
  • 半双工管
  • 命名管道
  • System V 消息队列
  • unix 域套接字

编辑

  • 内存映射文件

根据我的理解,命名管道可能是可能的(不确定)。

unix ipc

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

套接字句柄在独立进程之间传输

我在socket编程中做了一些实验(在unix环境中).我在想的是

  1. 客户端向Server发送请求.
  2. 服务器应将客户端套接字发送给Worker(独立进程)
  3. 工人应回复客户.

这可能吗?

如果Worker是Server的子级,则此方案有效.

如果Server和Worker是独立的进程,这有用吗?如果是,有人可以给我一些想法吗?这种情况是否有可用的样本?

c sockets linux

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

当tcp使用16位端口号识别应用程序时,如何存在非独占端口?

我无法想出确切的套接字api,但我记得有一个套接字选项可以演示端口独占/非独占.

如果它不是独占的,TCP如何知道它应该转发到特定目标端口的应用程序?

c network-programming

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

当亲子在同一个端口上听时会发生什么?

我有一个父它启动时,揭开序幕的是创建一个端口上侦听X.这之后TCP Server实例的一个线程,家长开始分叉关子进程(这做几件事情并退出).请注意,这些子进程从父级继承fds,因此最终会侦听端口X.

父程序有一个处理程序,用于处理端口X上的请求但子进程没有这样的处理程序(它是一个os.execv() - ed C++程序)

我知道子进程可以关闭所有fds,在这种情况下不会出现上述情况.端口X上的传入请求会发生什么?怎么处理?

这是我到目前为止观察到的内容...父节点中的tcp请求处理程序在收到请求时执行commands.getstatusoutput(..).大多数时候,它表现得像预期的那样(或者我预期的方式) - 执行上述命令没有任何错误......但偶尔我会得到

File "/home/y/lib/python2.7/commands.py", line 61, in getstatusoutput
    sts = pipe.close()
IOError: [Errno 10] No child processes
Run Code Online (Sandbox Code Playgroud)

python sockets networking operating-system fork

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

在Perl中的进程之间共享套接字(没有fork)?

Perl中是否有一种机制可以在两个独立的进程之间共享套接字 - 而不需要在Linux中进行分叉或线程化?

我会假设不,但这个答案让我相信它是可能的:https://stackoverflow.com/a/1139425/1170839

我想在一个进程上创建一个侦听套接字,并允许另一个进程接受/读/写它.

sockets perl

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