标签:delphi
SOCKET TCP
procedure idtcpsrvr1Execute(AThread: TIdPeerThread);
procedure idtcpsrvr1Connect(AThread: TIdPeerThread);
idtcpsrvr1: TIdTCPServer;
idtcpclnt1: TIdTCPClient;
client:
连接服务器->发送数据消息
//连接服务器
idtcpclnt1.Host:=‘127.0.0.1‘;
idtcpclnt1.Port:=168;
idtcpclnt1.Connect();
ShowMessage(‘连接成功‘);
var
sm:TStringStream;
msize:Integer;
sm:=TStringStream.Create(Trim(edt1.Text));
msize:=sm.Size;
cxm1.Lines.Add(‘发送时流大小为:‘+inttostr(msize));
idtcpclnt1.WriteInteger(msize); //发送的字节数据的大小
idtcpclnt1.WriteStream(sm);//发送的数据流
sm.Free;//释放TStringStream对象
//SERVER
打开TCP 连接
idtcpsrvr1.DefaultPort:=168;
idtcpsrvr1.Active:=True;
ShowMessage(‘程序启动成功‘);
//提示有客户端请求消息过来
procedure TForm1.idtcpsrvr1Connect(AThread: TIdPeerThread);
begin
cxm1.Lines.Add(‘有用户连接‘);
end;
//在 idtcpsrvr1Execute时间里面接受数据消息
var
s:string;
sm:TStringStream;
msize:integer;
sm:= TStringStream.Create(‘‘); //创建字符串流对象
msize:=AThread.Connection.ReadInteger(); //读取数据流的大小
cxm1.Lines.Add(‘接受的字符串大小为:‘+inttostr( msize)) ;
AThread.Connection.ReadStream(sm,msize); //读取数据的内容
cxm1.Lines.Add(sm.DataString); //讲数据添加到cxm1里面
标签:delphi
原文地址:http://blog.csdn.net/wang463584281/article/details/24696141