如何通过代理服务器将DataSnap客户端连接到DataSnap服务器?

问题是这样的:

我决定使用DataSnap技术(IDE Delphi XE6)回调制作一个消息/聊天(VCL应用程序),创建了一个没有数据库和胖客户端的简单DataSnap服务器(tcp / ip + http)。

如果整个事情在本地网络(tcp / ip)上运行或通过Internet(http)运行,则所有工作都会正常。在HTTP上运行时出现问题,并且客户端计算机有HTTP代理服务器,客户端应用程序无法连接到DataSnap服务器应用。 客户端应用程序Expected datasnap context in request http://[YourServerIP]:[YourPort]/datasnap/tunnel收到错误10061 connection refusedExpected datasnap context in request http://[YourServerIP]:[YourPort]/datasnap/tunnel

我尝试输入代理服务器的IP和端口参数组件TSQLConnection.Driver params DSProxyHostDSProxyPort ,关闭我的防火墙和防病毒软件,检查允许流量到代理ip +端口,但问题并没有消失。

经过几天的搜索,没有结果,我决定从客户端应用程序和DSHTTPService1组件的HTTPTrace过程中对DataSnap服务器应用程序的DSHTTPService1以及软件HTTPDebugerPro的响应,并且我注意到有趣的事情:

  • 当客户端应用程序连接到没有代理服务器的ds服务器应用程序时,在请求ds服务器应用程序接收具有此文本/datasnap/tunnel ”的 URI并且所有工作正常ds服务器响应200, OK
  • 当客户端应用程序使用代理连接到ds服务器应用程序时,请求ds服务器应用程序接收文本为http://[YourServerIP]:[YourPort]/datasnap/tunnel ”的 URI ,并引发异常并返回响应错误404, Expected datasnap context in request http://YourServerIP:YourPort/datasnap/tunnel
  • 有没有人知道这个问题的解决方案? 如何通过代理服务器将DataSnap客户端连接到DataSnap服务器? 我搜索了这个问题的解决方案好几天,我铲除了互联网,但还没有找到解决方案。

    链接地址: http://www.djcxy.com/p/64687.html

    上一篇: How to connect DataSnap client to DataSnap server via proxy server?

    下一篇: Delphi XE7 Datasnap with pure JSON