我想把xml文档作为stringStram,用tcpServer和tcpclient进行传输和接收 请问具体该怎么写服务器端和接收端 而且是双向接收的 服务器接收后 也要返回给客户端信息(xml文档) 客户端也能接收的
谢谢了 急用!
谢谢了 急用!
解决方案 »
- 关于ADO多个数据表提交.回滚的问题和三层多个数据表提交.回滚的问题?
- 请教一条sql语句为什么不起作用?在线等待,谢谢!
- 总是在公交车上遇见一个美丽的女孩,请大家给个建议!
- 有没有办法编程控制MU最新版0。96W里的鼠标?
- DELPHI中怎样用SQL实现对日期范围的查询
- 项目现在完成得差不多了,剩下最后的问题要问大家。
- 真难啊!!!!!!!!!!!!
- 懂汇编的朋友请过来(搞定送500分)
- 怎么样来控制声道,如左声道,右声道,立体声?
- 你需要一个什么样的软件?
- delphi 中用tcpServer和tcpclient传输stringStram的问题
- 基于ADO的Internet数据库访问套件MiddleADO(2.0)更新
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;