服务器如何中断客户端程序?

时间:2012-03-16 15:56:43

标签: network-programming

服务器程序如何中断客户端程序? 客户端和服务器在不同的机器上。 服务器希望每次更改文件时向所有客户端发送文件。 服务器可以向客户端发送信号吗?

3 个答案:

答案 0 :(得分:0)

虽然您的问题在要求中不是很清楚,但大致可以遵循这种方法,即所有客户端都应该在某个端口上侦听新文件,并且每当服务器获得新文件时,它都可以在该端口上发送。优选地,客户端应该具有多线程体系结构,以便客户端在单独的线程中监听新文件。

答案 1 :(得分:0)

你的问题太宽泛了。你甚至没有说你感兴趣的技术(例如微软与Unix)。

通常,客户端要求通知服务器。这样,服务可以知道客户是谁,并且可以确定他们是否被授权接收通知。然后,客户端侦听服务器知道要发送的端口,服务器可以向他们发送通知。也许来自客户端的请求告诉服务器要发送哪个端口。

答案 2 :(得分:0)

客户端是否与服务器有持久连接,或者只有在有数据要传输的情况下才建立连接?在后者中,你必须设置像Raza描述的东西。但是在持久连接的情况下,您可以在客户端 - 服务器连接上设置某种多路复用技术。例如:

S:0[DATA]
C:0[DATA]
S:1[GotFile]
C:1[GimmeFile]  *
S:0[DATA]
S:1[File]  *
C:0[DATA]
C:1[Thanks] *
S:0[DATA]

最后,您可以设置广播或多播解决方案,将文件发送到每个侦听客户端。然而,由于文件由服务器加密并由客户端解密,因此很难安全地这样做。此外,您必须确保文件的完整性。