pythonsocket如何实现一个服务器对多个客户端进行交互?

pythonsocket如何实现一个服务器对多个客户端进行交互?,第1张

用twisted,用工厂管理连接,每个连接建立transport使用简单方便!参看下面代码:

#Copyright(c)ThePyAMFProject

#SeeLICENSEtxtfordetails

\"\"\"

ExamplesocketserverusingTwisted

@see:U{Documentationforthisexample

raiseSystemExit

fromtwistedinternetprotocolimportProtocol,Factory

fromtwistedinternetimportreactor

fromdatetimeimportdatetime

importpyamf

classTimerProtocol(Protocol):

interval=10#客户端链接到server后,server往客户端发送时间的间隔

encoding=pyamfAMF3

timeout=20#客户端链接到server后多少时间不 *** 作就断开链接的timeout

def__init__(self):

selfstarted=False

#设置编码器

selfencoder=pyamfget_encoder(selfencoding)、

#设置server端将数据编码成amf后存放的缓存地址

selfstream=selfencoderstream

defconnectionLost(self,reason):

ProtocolconnectionLost(self,reason)

print\"locstconnection:

非常麻烦,这是一些分布编程的问题。涉及到域,认证等等问题。
如果做商用程序,就用vc+ICE,或者所谓的webservice也是可以的,vc+isapi也行。
如果做一些民用程序,可以做一个数据网关,带消息服务就可以,然后靠消息协议来组织输入、输出。
在B上启动网关。
网关侦听端口
A上启用程序
连接上B的网关
A把数据通过socks发送到B上的网关。
B分析数据,然后调用本地EXE
如果是别人的EXE,则有两种方法,如果是命令行的,就调用程序,然后重定向输出到磁盘文件,然后解析文件,发送结果回去,如果是普通带窗口的windows程序,需要 *** 控这个exe的界面来实现了)
然后将结果发送给A。
OK!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10727856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存