我正在开发一个多线程客户端 - 服务器Android应用程序,其中客户端和服务器都是android手机(服务器不在中心位置),并且位于同一个网络中,由一个路由器控制。
服务器将首先启动应用程序。当客户启动应用程序时,他们应该自动获取服务器电话的IP地址,这样当他们点击地址时,他们就可以连接到服务器。
目前,我已经规定,当应用程序开始运行时,服务器手机会在屏幕上显示其IP地址。当客户端启动应用程序时,它会提供一个文本字段,用户可以在其中手动键入服务器的IP地址并连接到该地址。
任何人都可以给我任何关于如何让服务器的IP地址自动显示在客户端手机上的指示吗?我需要一个中央数据库或类似的东西吗?我是android编程的新手,对此并不是很了解。
答案 0 :(得分:0)
查看这是否有用:Android IP address with java
答案 1 :(得分:0)
您可能想要考虑实施UPnP解决方案。请将此Universal Plug and Play作为入门者,然后查看相关文档/参考文档末尾的链接。
UPnP不要求设备明确知道其他设备的网络详细信息,而是使用发现协议(SSDP)相互定位。
答案 2 :(得分:0)
一种解决方案是在循环中ping本地IP范围。放一个小超时持续时间。如果你在不同的线程中运行它会更好。如果你得到ping响应,这意味着服务器可用。