是搞网络聊天室的,
用UDP协议传,
老是提示出现 stream write error 流写入错误?
怎么解决呀?
var
tmpstr:string;
mystream:TMemoryStream;
begin
NMUDP1.ReportLevel := Status_Basic;
tmpstr:=edit1.Text ;
NMUDP1.RemoteHost :=trim(edit2.Text);
mystream:=Tmemorystream.Create ; ?主要是以下部分错误!!
try
mystream.Write(tmpstr[1],length(edit1.Text));
nmudp1.SendStream (mystream);
finally
MyStream.Free;
end;
先谢谢了,
用UDP协议传,
老是提示出现 stream write error 流写入错误?
怎么解决呀?
var
tmpstr:string;
mystream:TMemoryStream;
begin
NMUDP1.ReportLevel := Status_Basic;
tmpstr:=edit1.Text ;
NMUDP1.RemoteHost :=trim(edit2.Text);
mystream:=Tmemorystream.Create ; ?主要是以下部分错误!!
try
mystream.Write(tmpstr[1],length(edit1.Text));
nmudp1.SendStream (mystream);
finally
MyStream.Free;
end;
先谢谢了,
mystream:=Tmemorystream.Create ; ?主要是以下部分错误!!
try
mystream.Position := 0;
mystream.Write(tmpstr[1],length(edit1.Text));
nmudp1.SendStream (mystream);
finally
MyStream.Free;
end;
.........len := length(tempstr);
mystream.writebuffer(len,sizeof(len));
if len <> 0 then
mystream.writebuffer(tempstr[1],len);
.........len := length(tempstr);
mystream.writebuffer(len,sizeof(len)); //这里sizeof(len)的值为4,求的不是字符串的长度,而是整数类型的长度。同样,要求字符串长度只可以使用length,若是使用sizeof,求的的只是指向一个AnsiString结构的指针的长度,还是4。
if len <> 0 then
mystream.writebuffer(tempstr[1],len);