0

我试图弄清楚如何解决这个问题:

我的服务器需要能够执行以下两个功能:

  • 当接收到中断时,服务器需要能够向所有客户端发送(多播)新的 XYZ 信息
  • 当一个新的客户端加入广播组时,它需要所说的 XYZ 信息。服务器将需要能够处理来自客户端的 XYZ 读取请求。

所以服务器需要能够监听来自客户端的请求,同时在中断事件上向客户端发送信息。

我的客户需要能够执行以下两个功能:

  • 当它第一次加入广播组时,它需要能够从服务器读取 XYZ。
  • 当服务器遇到中断事件时,它将发出 XYZ。我的客户需要倾听这些信息。

我希望客户只需要在初始加入时请求 XYZ。之后,它应该只从服务器监听 XYZ。

这可能吗?我研究了阻塞/非阻塞和相关方法。

4

1 回答 1

0

理论上是的。这实际上取决于您如何设计客户端和服务器之间的对话。比如服务器需要监听和响应请求,比如“data=?” 使用“data = XYZ”或者您想要打包消息。

服务器启动时需要广播,客户端在与服务器断开连接时需要进入监听模式。

为了实现这一点,您可能会在客户端和服务器上都使用线程,因此可能会使用一些序列化(信号量、互斥锁等)。具体来说,您可能最终会得到一个带有监听套接字的线程和另一个带有发送套接字的线程。

总的来说,这是一个中等技能的项目,但除非您以前编写过多线程应用程序或 TCP/IP 应用程序,否则这将是一次学习体验!

PS。我正在做类似的事情,只是为了好玩,所以这是可能的!

于 2013-08-30T00:34:39.040 回答