NMUDP控件接收消息问题

newcoding 2006-07-19 11:23:37
我用NMUDP控件发送消息的代码如下:
procedure TFormMain.PopmenuMNUDP_SendMessageClick(Sender: TObject);
var
FStream: TMemoryStream;
strTemp:string;
begin
Form_SendMessage:=TForm_SendMessage.Create(Application);
Form_SendMessage.LB_Who.Caption:=iListItem.Caption;//接收人
Form_SendMessage.LB_Host.Caption:=iListItem.SubItems.Strings[2];//接收主机
Form_SendMessage.ShowModal;
if Form_SendMessage.FSend then
begin
FStream := TMemoryStream.Create;
strTemp:=iListItem.Caption+#1+iListItem.SubItems.Strings[2]
+#1+Form_SendMessage.Memo1.Text;
NMUDP.RemoteHost:=iListItem.SubItems.Strings[3];
try
FStream.Write(strTemp[1], Length(strTemp));
NMUDP.SendStream(FStream);
finally
FStream.Free;
end;
end;
Form_SendMessage.Free;
end;


procedure TFormMain.NMUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer); //接收即时消息
var
FStream: TMemoryStream;
strTemp:string;
i:integer;
begin
FStream := TMemoryStream.Create;
try
NMUDP.ReadStream(FStream);
SetLength(strTemp, NumberBytes);
FStream.Read(strTemp[1], NumberBytes);
Beep;
Form_ReceivedMessage:=TForm_ReceivedMessage.Create(Application);
Exit;

i:=Pos(#1,strTemp);
Form_ReceivedMessage.LB_Who.Caption:=Copy(strTemp,1,i-1);//这里应该显示发送人的信息
strTemp:=Copy(strTemp,i+1,Length(strTemp));
i:=Pos(#1,strTemp);
Form_ReceivedMessage.LB_Host.Caption:=Copy(strTemp,1,i-1);
Form_ReceivedMessage.LB_Time.Caption:=DateTimeToStr(Now);
strTemp:=Copy(strTemp,i+1,Length(strTemp));
Form_ReceivedMessage.Memo1.Text:=strTemp;
Form_ReceivedMessage.ShowModal;
Form_ReceivedMessage.Free;
end;
finally
FStream.Free;
end;
end;

问题出在接收消息的时候!!
在接收信息窗体发送人IP地址和发送人显示的是接受人姓名和接收人的IP,内容是正确的
不知道为什么!!但是接受内容的确是对的!!就好象接收的流读的信息不太正确!在线等等
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
newcoding 2006-07-19
  • 打赏
  • 举报
回复
没人回答!!算了
newcoding 2006-07-19
  • 打赏
  • 举报
回复
不行啊!!接收消息显示的还是自己的机器啊!!
erhan 2006-07-19
  • 打赏
  • 举报
回复
FStream.Read(strTemp[1], NumberBytes);
在这句前看下FStream.Position是不是为0,如果不是0的话,把它置成0(从开始处)再读

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧