Type
TDataFormat=record
Head:Byte;
SerNumber:Byte;
StreamLen:array[0..1] of byte;
stream:array [0..512] of char;
end;
var
MyStream: TMemoryStream;
str,TmpStr: String;
Tmpstr1:TDataFormat;
1。能显示IP的:
try
MyStream.Write(TmpStr[1], Length(TmpStr));
NMUDP1.SendStream(MyStream);
finally
MyStream.Free;
end;
2.不能显示的,但是能收到数据包:
with TmpStr do
begin
Head:=$30;
SerNumber:=FrameSeq+1;
streamlen[0]:=0;
StreamLen[1]:=Length(str);
for i:=0 to Length(str)-1 do
Stream[i]:=(str[i+1]);
end;
MyStream:=TMemoryStream.Create;
try
MyStream.Write(TmpStr, sizeof(TDataFormat));
NMUDP1.SendStream(Mystream);
finally
MyStream.Free;
end;
请问为什么?不明白。我用2种和别人连调,他能收到我发过去的数据包的具体内容,但是就是没有我的IP和断口,他发不回来.不是UDP包里应该有FROMIP,FROMPORT的吗,怎的用第二种就取不出来呢呢?第一种就有。
TDataFormat=record
Head:Byte;
SerNumber:Byte;
StreamLen:array[0..1] of byte;
stream:array [0..512] of char;
end;
var
MyStream: TMemoryStream;
str,TmpStr: String;
Tmpstr1:TDataFormat;
1。能显示IP的:
try
MyStream.Write(TmpStr[1], Length(TmpStr));
NMUDP1.SendStream(MyStream);
finally
MyStream.Free;
end;
2.不能显示的,但是能收到数据包:
with TmpStr do
begin
Head:=$30;
SerNumber:=FrameSeq+1;
streamlen[0]:=0;
StreamLen[1]:=Length(str);
for i:=0 to Length(str)-1 do
Stream[i]:=(str[i+1]);
end;
MyStream:=TMemoryStream.Create;
try
MyStream.Write(TmpStr, sizeof(TDataFormat));
NMUDP1.SendStream(Mystream);
finally
MyStream.Free;
end;
请问为什么?不明白。我用2种和别人连调,他能收到我发过去的数据包的具体内容,但是就是没有我的IP和断口,他发不回来.不是UDP包里应该有FROMIP,FROMPORT的吗,怎的用第二种就取不出来呢呢?第一种就有。
说实话感大富翁差远了,看来以后有问题也只有去大富翁了。