我想把xml文档作为stringStram,用tcpServer和tcpclient进行传输和接收 请问具体该怎么写服务器端和接收端 而且是双向接收的 服务器接收后 也要返回给客户端信息(xml文档) 客户端也能接收的
谢谢了 急用!
谢谢了 急用!
解决方案 »
- C/S结构下的主-从-子从表关系如何做?
- 【板务醒目】辞去 Windows SDK/API 板斑竹职务 3/10【散分醒目】
- tcpClient向tcpServer发送数据后,如何得知tcpServer有没有收到该数据?急
- 关于DOMDocument的问题
- 如何解决这样的问题?
- C/S结构下怎样保存数据?
- 急切送分关于Adoquery
- WinSock不可靠
- 用程序实现:用windows默认的打开方式打开一个文件(如exe, zip, doc等)?
- delphi中对*.dbf数据库记录的物理删除?
- 数据库主键重复问题
- delphi 中用tcpServer和tcpclient传输stringStram的问题
var
strStream: TStringStream;
strSize: Integer;
begin
strStream := TStringStream.Create('some strings');
try
strSize := strStream.Size;
TcpClient1.SendBuf(strSize,sizeof(strSize),0);//记得处理返回值
strStream.Position := 0;
TcpClient1.SendStream(strStream);//记得处理返回值
finally
strStream.free;
end;
end;接收
var
memStream: TMemoryStream;
strSize: Integer;
iRecved: Integer;
p: pchar;
begin
memStream := TMemoryStream.Create('');
try
strSize := 0;
iRecved := TcpClient1.ReceiveBuf(strSize,sizeof(strSize));
if iRecved <= 0 then raise Exception.Create('出错了');
if iRecved <> sizeof(strSize) then Raise Exception.Create('接收数据长度不正确!');
memStream.Size := strSize;
memStream.Position := 0;
p := memStream.Memory;
while strSize > 0 do
begin
iRecved := TcpClient1.ReceiveBuf(p^,strSize);
if iRecved <= 0 then raise Exception.Create('接收数据出错');
inc(p,iRecved);
dec(strSize,iRecved);
end;
ShowMessage('接收完毕!');
finally
memStream.Free;
end;
end;
用tidtcpclient和tidtcpserver的 上面的写错了 不好意思啊
请再给我说说好么