局域网聊天的程序的一些问题.各位帮帮忙。
我最近在试着做一个局域网聊天的程序,用UDP分别向本机所在的网段发出信息说明自己上线,然后在接收信息时如果没有这个IP或是这个IP不在线时就会出错。另外如果我知道IP之后,用什么函数可以根据IP得到网上该台计算机名称。
接收时的代码如下:
procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
MyStream: TMemoryStream;
TmpStr,sarch_cname,sarch_cip: String;
k:integer;
begin
MyStream := TMemoryStream.Create;
listbox1.Items.add(fromip);
try
NMUDP1.ReadStream(MyStream); {如果IP不在会出错退出}
SetLength(TmpStr,NumberBytes);
MyStream.Read(TmpStr[1],NumberBytes);
Memo1.Lines.Add(FromIP+'说: ');
Memo1.Lines.add(' '+TmpStr);
finally
MyStream.Free;
end;
end;