局域网内有主机的networkingID吗?

一个路由器将自己66.249.89.104 ,像66.249.89.104这样的IP,许多主机可以连接到它,形成一个局域网

我的问题 :

有没有一种方法来识别该局域网中的特定主机?

我所尝试的只是一些猜测工作,毫无疑问是失败的:

 ping [email protected] Ping request could not find host [email protected]. Please check the name and try again. 

我想因为局域网中的每台主机都可以从路由器外部获得数据包,所以必须有一种方法来识别每台主机,但那是什么?

更新如何实现端口转发,除了在路由器中configuration?

UPDATE

现在我想UPnP是要走的路,但有没有一个工作样本呢?

您无法启动到路由器的连接。 内部主机必须先将端口转发给自己,然后在该端口上进行侦听。

UPnP是build立端口转发的途径。 那么你必须解决哪个端口的问题,如果你想和同一个NAT后面的几个客户端通信,他们不能使用同一个端口,所以你需要一些方法来知道哪个客户端正在使用哪个端口。 客户可以自己列出的中央服务器通常是这样做的(比如游戏服务器在大厅中列出,主服务器跟踪IP /端口以便其他人可以连接)

快速谷歌search出现了一个C ++ UPnP库,可能值得一试:

http://www.koders.com/cpp/fid2A3FF8255A7B67758E80E0423AA46F9DD8FD734A.aspx?s=setwindowshookex

和Windows UPnP API:

http://msdn.microsoft.com/en-us/library/aa382303%28VS.85%29.aspx