taSnap—加强服务程序对访问者的控制能力

来源:互联网 发布:淘宝订单怎么重新拆分 编辑:程序博客网 时间:2024/05/26 22:57
Delphi2009开始,以DataSnap的JSON开发三层受用户的关注,以下是开发过程中用到的一些内容
在客户端我们用 SQLConnection连接服务端,在登录时要验证用户及密码是否正确,本例我们用tcp/ip方式通讯,
当然如果用http协议则把第38行放开即可。所有的验证都在服务端执行。以下为当登录一客户端时,服务端上会显示它的相关信息,当客户端退出时会删除它的相关信息的图示:


这些功能的代码主要写在服务端的DSServer1.OnConnect和OnDisConnect事件中,但要加入以下单元:
DBXCommon和IdTCPConnection。
以下为代码图示:

为了显示,所以把版面变了一下,44行消去的部分是客户端的用户名验证部分,这里大家 可以结合数据库来验证。还有一个的重点是得到客户端的IP和Port,则我们可以用TidConnection(DSConnectEventObject.ChannelInfo.id).Socket.Binding..得到,那个id是内部标识号
得到客户的用户名和密码则是DSConnectEventObject.ConnecProperties[TDBXPropertyNames..]得到,如何防止客户端非正常退出可用心跳包来处理。
原创粉丝点击