ServerSocket和ClientSocket问题 ( 积分: 150 )

  • 主题发起人 主题发起人 boycxd
  • 开始时间 开始时间
B

boycxd

Unregistered / Unconfirmed
GUEST, unregistred user!
type
PTest=^TTest;
TTest=record
Code :longint;
Name :string;
TimeStr :string;
Time :Tdatetime;
end;

var//声明并在程序的某部分附值了
ListTest:Tlist;
ATest:PGame;

procedure TFrmMainServer.Button7Click(Sender: TObject);
var
Count:integer;
i,rc:integer;
recordsize:integer;
SendStream: TMemoryStream;
begin
Count:=Server.Socket.ActiveConnections;
for i:=0 to Count-1 do
begin
for rc:=0 to ListTest.Count -1 do//
begin
ATest:=ListTest.Items[rc]; //

recordsize:=sizeof(ATest);
SendStream:=Tmemorystream.create;
try
Sendstream.write(ATest,recordsize);
Sendstream.position:=0;
Server.Socket.Connections.sendStream(sendstream);
finally
Sendstream.Free ;//这部分出错
end;
end;
end;
end;
请高手指导:是代码有问题还是我的思路有问题?
 
try
SendStream:=Tmemorystream.create;
Sendstream.write(ATest,recordsize);
Sendstream.position:=0;
Server.Socket.Connections.sendStream(sendstream);
finally
Sendstream.Free ;//这部分出错
end;
这样试试
 
这样不行!
 
结构中的字符串定义成array[0..49] of Char
 
应该没问题
 
接收有问题!能否说明一下客户端如何接收吗?
 
Server.Socket.Connections.SendBuf(ATest,recordsize);//这样就可以了,何必用什么MemoryStream了
 
Sendstream会在socket关闭后自动释放,不能手动释放。
 
顶顶顶顶顶顶顶顶顶顶顶
 
多人接受答案了。
 
后退
顶部