X
xishu
Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi版本为6.0
目的:Client和Server通信,数据包协议为TCP/IP,数据包内容格式为XML。
做法:使用组件TXMLDocument来组XML数据包及解XML数据包。在Client端新建一个TXMLDocument,LoadfromFile获得一个XML文件的内容,再用SavetoStream把XML内容保存到流中,用Socket的SendStream把流发送出去,Server端收到后再用TXMLDocument来解析。
有关源码:
function TForm1.WriteXMLtoMediaServer: Boolean;
var
xmlstream: TStream;
begin
xmlstream := TMemoryStream.Create;
xmlstream.Size := 1000;
XMLDocument1.LoadfromFile('c:/Output.xml');
XMLDocument1.SaveToStream(xmlstream);
ClientSocket1.Socket.SendStream(xmlstream);
end;
代码很简单,但ServerSocket1的OnClientRead一直没有反应。
1. 连接肯定建立,把ClientSocket1.Socket.SendStream(xmlstream)用ClientSocket1.Socket.SendText('aaa')替换,Server马上收到!
2. xmlstream.Size := 1000;这句话有没有效果都一样。
是xmlstream中没有内容没有保存下来?为什么?
是SaveToStream和Socket.SendStream使用的流格式不同?该如何使用?
还是其他的??
非常急!各位高手请千万帮忙了!
谢谢谢谢!!!
十分感谢!!!
千分感谢!!!
万分感谢!!!