我创建了一个类库项目“Communication”,用于使用UDP套接字编程进行通信。
此通信将从应用程序调用,并使通信始终保持打开状态并准备好接受使用线程。
当必须发送数据时,由于Application具有Communication对象,因此其简单易用。
但是每当收到数据时,我都希望将数据发送到应用程序。
参考下面的图片。
如何实现这一目标?,代表们?
答案 0 :(得分:1)
制作如下界面:
interface Notifyable {
void notify(DatagramPacket p);
}
让你的Application
实现它。
然后为Communication
课程提供Application
的引用,并在收到数据时,调用notify
方法。
答案 1 :(得分:0)
UDP通信应该在两个方向上都相同。没有非对称客户端/服务器,也没有发送器/接收器。您的应用程序"和#34;沟通"应该以同样的方式工作。
两者都可以发送消息,两者都可以以相同的方式接收消息。
换句话说,你应该已经在聆听方面编写了这段代码,你只需要在"应用程序"
上使用相同的聆听方答案 2 :(得分:0)
您所描述的内容非常适合http协议。在HTTP中,服务器接收请求并向客户端发送响应。因此,除非您有特定的要求使用UDP,否则最简单的servlet会为您提供所需的行为 - 服务器始终处于启用状态,并且在收到HTTP请求后,您的servlet将发送响应。因此,只需阅读如何获取某些Web服务器或应用程序服务器并创建一个servlet,您就已经完成了设置。为简单起见,我建议使用Apache Tomcat作为您的服务器。