jjzjj

Communication

全部标签

windows - http.sys 实现

我们都知道在我们的Windows中有一个名为http.sys内核模式驱动程序的二进制文件,它可以为我们处理HTTP。这基本上就是我们对它的了解。但今天我想:嘿,我们所有的网络东西,如TCP/IP和诸如此类的东西都在这里,在用户区——ws2_32.dll的提供者(在mswsock.dll中)和它的所有friend。由于存在用户态组件,因此http.sys无法使用它们。问题是:他们是怎么做到的?任何信息链接将不胜感激。 最佳答案 我会想象HTTP.SYS使用WindowsKernelSockets以实现其目标。参见here

c# - 如何确定哪个 Windows Communication Foundation 服务正在使用给定端口?

理想情况下,我想在C#中执行此操作,因此我包含了C#标记。我有几个正在运行的WindowCommunicationFoundation服务,并使用System.ServiceModel.ServiceHost打开TCP端口(每个端口一个)。我有正在使用的端口号列表,但我想使用正在运行的服务从端口号映射到可执行文件。我曾尝试使用netstat、TCPView和我发现的其他一些类似工具来搜索此解决方案,但没有显示我的进程,我能得到的最接近的是系统(PID4)。所有这些都是WindowsWCF服务,按预期运行,并且确实显示在netstat和TCPView中(按端口号),但只能提供“系统”作为

windows - 独立于进程在内存中存储一​​个值

我需要一种方法来临时在某处存储一个值,比如进程A。进程A可以在将值存储在内存中后退出。一段时间后,进程B来访问内存的相同位置并读取值。我需要存储在内存中,因为我不希望数据在重新启动后保持不变。但只要系统正常运行,它就必须独立于进程访问数据。我在Windows中尝试了MailSlots和临时文件,两者似乎都有问题,进程引用计数下降到零,实体不会保留在内存中。在Windows中最好使用Win32API的合适机制是什么?象头神 最佳答案 编写一个在启动时启动的服务,并让它创建一些共享内存。然后这个共享内存可以由进程A填充,然后进程B可以读

java - 如何让 2 个 Java 应用程序相互通信?

我有2个Java应用程序。首先,我可以随意编辑,但稍后我会将其编译为机器代码。第二个我无法编辑,但我可以为它写一个插件。我需要让该插件能够与第一个应用程序对话。一般只是简单地互相发送字符串。进程的输入和输出流不是我的选择。我正在考虑使用tcp套接字客户端/服务器或将充当缓冲区的文件。但是这两种方式对我来说都有点难看,谁能给我一个更好的主意? 最佳答案 这取决于您要传输的数据类型。如果只是String,那么:如果numberofprocess=2并且您对此有把握,那么stdin&8stdout是最好的前进方式。您可以使用Process

c# - 将对象从父 View 传递到 MVVM 中的 subview

我目前正在尝试进入WPF和MVVM,但我最近遇到了一个我不知道如何解决的问题。我是新手,所以如果有什么不对劲,请告诉我。我有一个ParentView及其ParentViewModel。ParentView包含两个ViewSubViewA和SubViewB,它们都有自己的ViewModel。这是我的ParentView.xaml:我想做什么:SubViewModelB有一个绑定(bind)到SubViewB的属性。我想在ParentViewModel中发生某个事件时更改该属性。我想这应该通过将SubViewModelB中的属性绑定(bind)到ParentViewModel中的属性来完成

c# - 在同一台计算机上的 .net 应用程序之间传输大数据

我有两个在同一台机器上运行的.net应用程序。第一个应用程序是“引擎”。它构建图像-图像的大小约为4M。第二个应用程序是“查看器”。它显示“引擎”发送的图像。引擎每10-15秒发送一次图像。我的问题是将图像从引擎传递给查看器的最佳方式是什么。目前,我正在为此使用文件系统。引擎将图像写入文件系统文件夹,查看器使用FileSystemWatcher获取此文件。这种方法可以吗?靠谱吗? 最佳答案 自.NETFramework4.0以来,您可以为此使用内存映射文件,我相信它会比基于文件系统的方法更快,因为您不需要昂贵的文件系统IO操作。Am

c# - GUI 和 Windows 服务通信

我知道自Vista以来,C#无法将UI窗体直接挂接到Windows服务。这在Microsoft网站上有说明。我在这方面的问题是:“从UI到服务的最佳通信模式是什么?”我听说过Remoting、Web服务和直接TCP。还有其他方法吗?它们与前面提到的方法相比排名如何?它们的实现有多复杂?我的应用程序是供Intranet使用,而不是Internet。双方都有微软平台,因此互操作性不是一个因素,但速度才是。我的意思是我想通过网络上尽可能小的数据包。TIA 最佳答案 如果您要使用.NET进行开发,请使用WCF用于您的进程间通信。WCF极大地

c# - 在 C# 中进行进程间通信 (IPC) 的最简单方法是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭2年前。Improvethisquestion我有两个C#应用程序,我希望其中一个将两个整数发送到另一个(这不需要很快,因为它每隔几秒调用一次)。最简单的方法是什么?(它不一定是最优雅的。)

c# - C# 应用程序之间的通信 - 简单的方法

我有两个C#程序,我想在它们之间来回发送一些数据。(并检查数据是否到达另一个应用程序。)这两个程序将始终在同一台计算机上运行,​​因此不需要网络功能。我已经在这里阅读了一些类似主题的问题,但我不完全确定哪种方法适合我。(WCF、远程处理等)我想知道的是,对于C#初学者来说,哪个更容易实现?(反正我不想让它变得太复杂,我只想发送一些整数和一些文本。)如果在难度上没有真正的区别,那么一个比另一个有什么优势?我也非常感谢一些简单的示例代码。提前致谢。 最佳答案 您可以使用Pipes在应用程序的不同实例之间发送数据。如果您只需要告诉另一个实

【联邦学习论文阅读】FedAvg(2016)Communication-Efficient Learning of Deep Networks from Decentralized Data

【FedAvg】论文链接:https://arxiv.org/abs/1602.05629摘要移动通信设备中有许多有用的数据,训练模型后可以提高用户体验。但是,这些数据通常敏感或很庞大,不能直接上传到数据中心,使用传统的方法训练模型。据此提出联邦学习,将训练数据分布在移动设备上,通过聚合本地计算的更新来学习共享模型。考虑了5种不同的模型和4个数据集,证明本文的方法对不平衡和非独立同分布的数据是鲁棒的,且降低了通信成本。一、介绍主要贡献:将移动设备的去中心化数据的训练作为重要研究方向选择可以应用的简单而实用的算法对所提出的方法进行广泛的实证评估1.联邦学习的理想问题具有以下特性:训练来自移动设备