在本指南的帮助下,我最近在几个设备的应用程序中设置了 P2P 通信:http://developer.android.com/training/connect-devices-wirelessly/nsd.html
因此,现在我可以在我的网络中找到运行我的应用程序的其他设备。 现在我想在客户端之间发送消息。可以是 1,2 个或更多客户端,但消息一次只会发送给 1 个客户端,更像是 PING 请求,但带有一些文本。
我一直在阅读有关套接字的内容,这似乎是可行的方法(不久的将来也会与 iOS 设备通信)。但是.. 在所有示例和教程中,我发现所有消息都经过的客户端组中有一个服务器。我只想从客户端向客户端发送消息。
基本上我想要:
- 列出我网络中运行我的应用程序的所有设备/客户端,完成! (所有这些都有 IpAdress、端口等)
- 单击一个客户端并发送 ping/消息
有任何提示或示例可供引用吗? 所有的客户端设备都应该有一个“服务器”吗?
问候, 克里斯托弗
最佳答案
所以我终于明白了。
我正在更详细地研究套接字。例如:
http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html
并意识到我需要在所有客户端上安装一个服务器才能使其正常工作。 所以现在所有客户端都有一个 ServerSocket 监听传入连接和一个单独的客户端套接字用于向这些“服务器”发送消息。
这一切似乎都适用于连接到 Android 和 iOS 设备。
几个使用这个套接字的工作示例:
http://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/
/克里斯托弗
关于java - 与NSD连接的Android设备,如何使用套接字(Client-Client)发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273688/