java - 与NSD连接的Android设备,如何使用套接字(Client-Client)发送消息?

标签 java android sockets

在本指南的帮助下,我最近在几个设备的应用程序中设置了 P2P 通信:http://developer.android.com/training/connect-devices-wirelessly/nsd.html

因此,现在我可以在我的网络中找到运行我的应用程序的其他设备。 现在我想在客户端之间发送消息。可以是 1,2 个或更多客户端,但消息一次只会发送给 1 个客户端,更像是 PING 请求,但带有一些文本。

我一直在阅读有关套接字的内容,这似乎是可行的方法(不久的将来也会与 iOS 设备通信)。但是.. 在所有示例和教程中,我发现所有消息都经过的客户端组中有一个服务器。我只想从客户端向客户端发送消息。

基本上我想要:

  1. 列出我网络中运行我的应用程序的所有设备/客户端,完成! (所有这些都有 IpAdress、端口等)
  2. 单击一个客户端并发送 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/

http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/

/克里斯托弗

关于java - 与NSD连接的Android设备,如何使用套接字(Client-Client)发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273688/

相关文章:

java - 从 SignedObject 获取时出现 InvalidObjectException

我的C套接字编程函数中connect不成功

python - (tornadio2) 失败 : Error during WebSocket handshake: Unexpected response code: 403

Java 接口(interface) : Can an interface be used in a Linked list?

java - 单向@OnetoMany 映射删除所有关系并重新添加剩余关系而不是删除特定关系

java - 私有(private)字符串还是公共(public)静态字符串?

android - 支持底部导航的 minSDKVersion 是多少?

java - 使用 Apache XMLBeans 对字符串中的 XML 实体进行编码

java - 在 SWT 中禁用窗口调整大小 - 使用复合

android - 未在 unity 中找到 android 设备