关于python Jabber,Twisted,XMLRPC和SCP的简单问题

时间:2011-09-12 08:37:34

标签: python twisted xmpp scp

我对这些协议有几个问题,我很难回答只是在网上搜索。所以这里。请原谅我的无知,我知道至少其中一个问题会让你感到畏缩。

SCP:SSH文件传输协议是否保证正确的数据是否会运行服务器?从本质上讲,如果我用scp编写脚本,在收到文件后检查文件的哈希是多余的。

扭曲:我正在使用Twisted与潜在的经纪人。同样的问题,检查哈希是多余的,如果我进行远程调用并返回一个好的值,我可以假设服务器不仅获得数据,而且它获得了正确的数据?这是errbacks的功能,还是其他错误的功能?我可能会用netstat或其他东西自己测试一下,但是在使用PB时会发送很多额外的数据吗?是否每次调用远程函数时都必须通过网络重新发送阿凡达?

Jabber:保证也一样,如果我发送并返回一个好的值,我可以假设服务器不仅获得了数据,而且获得了正确的数据吗?我看过jabber被称为“接近实时”。这意味着,在一个数量级上,假设所有客户端/服务器都处于良好连接状态,人们会期待什么样的延迟。我一直在运行一个使用jabber的程序,它对我来说相当糟糕(必须不时重新启动,并不总是在数据发送后数小时内得到数据),这些问题是协议,还是代码写的很差吗?

XMLRPC:再次使用纠错保证。我在python中编写了一个SimpleXMLRPCServer / client程序,它每秒发出10个请求,是标准,还是我做得不好?

任何这些问题的答案都会很棒,谢谢你们。

编辑:我正在编写一个分析算法,该算法将使用这些方法中的一个或某些组合来移动数据文件。我每秒钟会收到大量的请求,速度是个问题。

然而,为此目的,获取不正确的数据是不可接受的。 TCP确实证明你是数据,但我不知道是不是在端点上获取数据意味着在磁盘上正确使用数据,我不知道。

1 个答案:

答案 0 :(得分:2)

  

SCP:SSH文件传输协议是否保证正确的数据是否会运行服务器?从本质上讲,如果我用scp编写脚本,在收到文件后检查文件的哈希是多余的。

一般来说,保证是一个强有力的词。

单独的TCP 努力提供可靠的传递,校验和,确认,序列号,重试一起意味着不应该是任何未检测到的错误。但它不能抵御恶意干扰。

在TCP之上,SSH / SCP 努力提供安全(主机认证,加密,完整性检查)端到端数据传输,以便始终检测到恶意干扰。但是,这假定您正确使用它,例如主机密钥检查。

这对大多数用例来说已经足够了。

但是,如果您想要非常确定并且可能覆盖非常罕见的未检测到的磁盘错误,请阅读文件并生成安全摘要,例如: sha256sum。


您在类似主题上发布过很多问题,您担心的是什么?网络级错误?恶意干扰?


  

我在python中编写了一个SimpleXMLRPCServer / client程序,它每秒发出10个请求,是标准的,还是我做得不好?

每秒10点有点低。这些流水线(一个TCP连接)?如果没有,你可能会在某个地方遇到SYN ratelimit。将流水线性能与每个请求的单独连接进行比较。