delphi2009 socket 发送和接收记录型数据的问题(50)

X

xzzcq

Unregistered / Unconfirmed
GUEST, unregistred user!
定义记录型数据type tlist=record cid:string[20]; cname:string[20]; ccode:string[20]; end;............................var testlist:tlist;............................按各网上的示例及以前大富翁中的做法,发送时的代码如下:procedure TchatForm.btn2Click(Sender: TObject); //发送记录集变量var i:Integer;begin testlist.cid:=edt1.Text; testlist.cname:=edt2.Text; testlist.ccode:=edt3.Text; if IsServer then for i:=0 to ServerSocket.Socket.ActiveConnections-1 do ServerSocket.Socket.Connections.SendBuf(testlist,SizeOf(tlist)) else ClientSocket.Socket.SendBuf(testlist,SizeOf(tlist));end;....................................服务器端接收的代码如下:procedure TchatForm.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);var i:integer;begin for i:=0 to ServerSocket.Socket.ActiveConnections-1 do begin ServerSocket.Socket.Connections .ReceiveBuf(testlist,SizeOf(testlist)); edt1.Text:=testlist.cid; edt2.Text:=testlist.cname; edt3.Text:=testlist.ccode; end;end;...................................................客户端接收的代码如下:procedure TchatForm.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);begin ClientSocket.Socket.ReceiveBuf(testlist,SizeOf(testlist)); edt1.Text:=testlist.cid; edt2.Text:=testlist.cname; edt3.Text:=testlist.ccode;end;...........................以上代码为什么不行呢? 请高手帮忙?
 
KAO,代码里都没有连接的动作。不可能远行-------先保证最基本的连接通畅后,再考虑收发数据。
 
delphi安装目录下有一个DEMO,好好研究一下,运行一下,测试一下
 
数据结构错误,请注意SizeOf(testlist)) 返回的大小该结构是不能这样命名的
 
联连的语句是有的,已省略未添加上去,luoyanqing119我装的是简版,没有demo,您如果有记录型传递可行的demo给我发一份吧,zqwmmzxb@foxmail.com,多谢了!
 
satori,请帮忙给出正确的,我对这块不熟,多谢!
 
tlist=packed record cid:array[0..19] of char; cname:array[0..19] of char ccode:array[0..19] of char end;
 
好像不行,请再帮帮忙,多谢!
 
一离开string是变SB的人群
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
674
import
I
I
回复
0
查看
445
import
I
顶部