ClientSocket和SeverSocket的DATA属性到底怎么用?(50分)

  • 主题发起人 主题发起人 doll_paul
  • 开始时间 开始时间
D

doll_paul

Unregistered / Unconfirmed
GUEST, unregistred user!
服务器端:ServerSocket1.Socket.Connections[0].Data := XXXX;
客户端: ClientSocket1Read事件处,Text := Socket.Data;

这时,接收到的Socket.Data为NIL(单步跟踪)。

请问:DATA属性到底怎么用?谢谢~
 
Data不是用来发送和接受数据的
 
Data是个指针
我在VCL原吗中没有找到调用Data的代码部分,
看了帮助,DELPHI说是多线程下提供线程安全使用的
 
to 张无忌,怎么不在QQ上啊?如果在,我就直接问了~

我知道这是个指针,我不能把这个指针的数据,通过DATA属性发给客户端吗?
 
当然不行,他一直都是nil的,不知道DELPHI为什么要这个值。
我同时在工作,不能上QQ
 
Data是Delphi给我们自己在socket里面放数据用的,例如放一些用来验证该端口的数据,而且这个指针是线程安全的。
 
to 张无忌,zhhc,谢谢二位的回复~

起初打算用这个属性来把发送字符和文件流分开,看来是不成功了!

现在我想反问一下,如何只用一组TCP控件,怎么又传文字,又传流?
 
只能自己做标志来分隔字符和流的传送了。
可以设一个特殊字符表示是流传送,还是文字传送。
其实文字传送也可以放在流中啊。
 
to zhhc,你的意思是把特别的字符写入流,然后共同按流发送,然后客户端再以这个
格式,先读取这个流的头信息,然后再判断是怎么处理?

我刚开始想过,但。。。。这要做好像有些麻烦。。。如果没有的办法,也只能如此了!
 
看看帮助,Data可以存储一些乱七八糟的信息,呵呵
如有几个ClientSocket连接时,可以对各个连接确定不同的权限,而不同的权限可以用整数(integer)表示
就可以把整数强制转换成Pointer,而收发信息时,则可以强制转化成整数,一确定该连接是否有资格收发
 
差不多是的了,
我觉得还是统一用流传送比较好,现在做的时候可能是麻烦一些,但以后扩充功能也方便一些
 
to Kang,我自己把这个标记保存在DATA中?我在客户端收的时候,为NIL啊!
请给出例子!

to zhhc,老兄说的有道理,呵呵,不过,是麻烦些~

老兄有QQ吗?能否直接请教?或EM:doll-paul@263.net,告诉我!
 
我没用QQ了,
我的Email是zhaihaichen@21cn.com
或者用MSN联系也行 zhaihaichen@msn.com
 
如果大家没别的好办法了,就结分了~
 
其实这个东西没多大用,一般的认证消息都在数据库里面读,
 
多人接受答案了。
 
后退
顶部