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的吗,怎的用第二种就取不出来呢呢?第一种就有。