Delphi XE – Datasnap过滤器问题 [英] Delphi XE – Datasnap Filter problems

查看:90
本文介绍了Delphi XE – Datasnap过滤器问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用PC1和Zlib过滤器的tcp / ip Datasnap -XE服务器

I have a tcp/ip Datasnap -XE Server that uses a PC1 and Zlib filter

在客户端上,这两个过滤器均在DataSnap TSqlConnection中定义

On the Client both of these filters are defined in DataSnap TSqlConnection

当客户端连接到服务器时,我会收到连接已正常关闭 错误消息

When the client connects to the server I get a "Connection Closed Gracefully" error message

如果我仅使用PC1过滤器-没问题

If I only use the PC1 filter on its own - there is no problem

如果我仅使用Zlib过滤器-没问题

If I only use the Zlib filter on its own - there is no problem

关于如何使两个过滤器同时工作的任何想法吗?

Any Ideas on how I can get both filters working at the same time?

推荐答案


直到Embarcadero的某人确认这是我应该三思而后行的方式。

Until someone from Embarcadero confirms that this is the way it should be I would think twice before I used it.

这是正确的,如果您没有在客户端上指定过滤器,则在连接过程中会在初始握手协议中告知服务器过滤器是什么,并自动添加它们,这是一种完全合理且安全的使用方式过滤器。

This is true. If you don't specify filters on the client, it is told in the initial handshake protocol during connection what the server's filters are, and it adds them automatically. This is a perfectly reasonable and safe way to use filters.

但是请注意,事实并非如此。服务器不采用来自连接客户端的过滤器。如果客户端上有RSA过滤器,但服务器上没有RSA过滤器,则连接时会出现异常,表示服务器没有匹配的RSA过滤器。客户端上而不是服务器上的其他任何过滤器都将被忽略。

Note, however, that this isn't true in the reverse. Servers do not adopt filters from a connecting client. If you have an RSA filter on the client but not a matching one on the server, then you will get an exception on connection, saying the server has no matching RSA filter. Any other filter on the client but not on the server will be ignored.

这篇关于Delphi XE – Datasnap过滤器问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆