Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JavaWeb服务向C客户机发送数据的最佳方法_C#_Jax Rs - Fatal编程技术网

C# JavaWeb服务向C客户机发送数据的最佳方法

C# JavaWeb服务向C客户机发送数据的最佳方法,c#,jax-rs,C#,Jax Rs,这是我们的架构: 当分配问题时,JiraWebhook将消息发送到JavaJersey REST服务 当用户登录到机器时,C客户机应用程序向JavaWeb服务注册用户名/主机组合 当web服务接收到来自JIRA的消息时,它会找到受让人用户名,并将所需数据发送到用户登录的主机上的C客户端应用程序 我已经想到了几种解决web服务到客户端消息的方法 我的第一个方法是在客户机上打开一个TCP端口,让服务将每条消息直接发送给它。这是最直截了当的方法,但由于客户端维护了用户分配的票据数据列表,因此客户端有点

这是我们的架构: 当分配问题时,JiraWebhook将消息发送到JavaJersey REST服务

当用户登录到机器时,C客户机应用程序向JavaWeb服务注册用户名/主机组合

当web服务接收到来自JIRA的消息时,它会找到受让人用户名,并将所需数据发送到用户登录的主机上的C客户端应用程序

我已经想到了几种解决web服务到客户端消息的方法

我的第一个方法是在客户机上打开一个TCP端口,让服务将每条消息直接发送给它。这是最直截了当的方法,但由于客户端维护了用户分配的票据数据列表,因此客户端有点沉重,然后可以操作或删除这些数据

另一种是让服务维护数据模型,客户机定期请求数据。这使得客户端更简单,但接下来我必须实现一个轮询间隔来获取数据,并添加一些POST方法来确认和删除用户列表中的数据

我曾研究过让客户端向服务注册通道的不同方法,比如ServiceStackEvents,但我看不到一种方法可以让它与C客户端和Java服务一起工作。像那样的东西就太完美了。服务基于用户筛选器向客户端发送回调或事件消息的一种方式

如果有人有一些建议或知道一个API来帮助这一点,请张贴一个链接,这样我就可以深入了解它。这些帖子都运行得很顺利,只是将数据返回给客户,这是我正在努力寻找的最佳方法


谢谢

客户端轮询不是一个糟糕的解决方案


但是,如果您想要防火墙和代理友好的双工协议,请查看WebSockets。

啊,忘了WebSockets!除了JIRA之外,所有这些都在同一个飞地中,所以不需要考虑防火墙。我将使用这两种方法。谢谢你的意见!