This question询问如何传递查询和接收响应。我也想请求采取行动和提供信息。其中一些请求将采用参数,而大多数则不会。在回复中,几乎所有的回复都会回复"OK“,而其他人则会给我发送信息。除了这个命令协议之外,链路的两端对彼此一无所知。OP得到了他的答案,告诉他如何包装他的代码。
这样的回答告诉我应该使用什么技术,如何包装代码等等,这让我不知所措;由于我正在用最新的工具进行全新的开发,我发现并接受了我想使用TAP的想法,Jon回答了这个问题的执行部分。我现在知道如何包装我的代码了。不过,我的问题不是使用什么技术,也不是如何使用异步/等待。
但是这段代码是什么样子的呢?使用哪些方法/参数等来发送查询并获得答案?如何在无法找到彼此的两端之间建立沟通?如何包含参数?等。
我想使用策略模式,以便在一种情况下,两端是表单,命令是按钮按下的结果,是文本框的参数。这种形式存在。第二个策略,还没有写好,是让两个目的通过计算机之间的网络进行通信。服务器将是一个Windows服务,命令模块是一个表单,它将发送响应于生产线自动化的命令。
它不能帮助我说“使用RPC”或“使用套接字”。什么是RPC?套接字代码与发送命令的部分有什么关系.代码是什么样子的?
说我有:
public async void SendCommandAsync(Command c, Parameters p)
{
string response;
await response = SendAsync(c, p);
}在调用此函数之前,需要设置什么?SendAsync()是什么?它如何与远程侦听器通信?两种策略之间有什么并行性,其中一种是通过网络与SOAP或HTTP进行通信,另一种是在同一台计算机上,一种是与另一种形式的?
谢谢你容忍我的无知。
发布于 2013-10-08 16:36:49
HTTP协议似乎是您要寻找的。它通过TCP与远程主机执行单个请求/响应对。个别请求和相应的答复是独立的。HTTP实际上给出了表单的一个函数:
byte[] response = Request(string remoteUrl, byte[] request);此函数中的所有内容都由库实现自动化。服务器也是如此。
如果您想使用结构化数据(对象树)进行通信,您可能应该使用Web服务(可能基于SOAP )。它们是HTTP之上的一个层,允许您发送/接收对象,而不是字节数组。
关于策略模式:您可以将模式放置在不同的层次上。
Stream来交换消息。HTTP完全可以在任何流上工作。在本地主机连接上,可以使用命名管道。进程中您可以使用MemoryStream。object response = Request(object request);的函数存在,从而完全抽象出所有传输方面。该函数可以由SOAP支持,也可以由任何其他自定义传输支持。https://stackoverflow.com/questions/19252331
复制相似问题