indy数据收发

ys324337347 2017-05-11 11:21:59
最近想搞搞网络编程,问题太多了



type
TTmpData = record
Name, Data: string[200];
CMD: string[50];
end;

//调用SendMsg下面这段不执行,发送字符串用writeln和readln就没问题
procedure TForm1.IDTCPServer1Execute(AContext: TIdContext);
var
Buf: TIdBytes;
TmpData: TTmpData;
begin
AContext.Connection.IOHandler.ReadBytes(Buf, SizeOf(TmpData)); //第一次连接(下面ConnectSer)执行到这一步就没往下执行了。
BytesToRaw(Buf, TmpData, SizeOf(TmpData));
mmo_Rec.Lines.Add(TmpData.Data);
end;

//发送数据到服务端
procedure TForm1.SendMsg;
var
Buf: TIdBytes;
TmpData: TTmpData;
begin
if not IdTCPClient1.Connected then Exit;
TmpData.Name := 'GG';
TmpData.Data := mmo_Send.Text;
RawToBytes(TmpData, SizeOf(TmpData));
IdTCPClient1.IOHandler.Write(Buf);
end;

//连接到服务器
procedure TForm1.ConnectSer;
begin
IdTCPClient1.Host := edt_CIP.Text;
IdTCPClient1.Port := StrToInt(edt_CPort.Text);
IdTCPClient1.Connect;
IdTCPClient1.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8();
end;
...全文
212 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧