当前位置: 首页 > 知识库问答 >
问题:

通过信号发送/接收复杂对象r

闻人树
2023-03-14

我正在尝试将一个复杂的对象从服务器传递到客户端。我的客户端代码如下所示:

var hubConnection = new HubConnection("http://somewebsite.com/");
var serverHub = hubConnection.CreateHubProxy("searchHub");

serverHub.On<Complex>("newSearch",
    obj =>
    {
        Console.WriteLine(obj.ToString());
    });

complex类是:

public class Complex
{
    public string url { get; set; }
    public string title { get; set; }
    public int results { get; set; }
    public DateTime date { get; set; }
}

在服务器上,我使用:

public class SearchHub: Hub
{
    public static void NewSearch(string url, string title, int results)
    {
        var context = GlobalHost.ConnectionManager.GetHubContext<StatsHub>();

        title = Encoder.HtmlEncode(title);
        url = Encoder.UrlEncode(url);
        var date = DateTime.UtcNow;
        context.Clients.All.newSearch(url, title, results, date);
    }
}

但不管用。如果我从 (“newsearch”上的 中删除该类型,并像一样使用它。在(“newsearch”上,我获得了连接,但它只打印第一个参数(URL)。我应该如何从服务器传递复杂对象


共有2个答案

柯阳曦
2023-03-14

希望这对某人有帮助,这是一个基本的实现。

卞云瀚
2023-03-14

您将在服务器上调用newsearch,并将基元类型作为参数,而不是类的实例。在客户端或服务器上更改签名。它们需要匹配

 类似资料:
  • 我在网上搜索了很多,但是没有找到通过套接字发送对象并按原样接收的解决方案。我知道它需要酸洗,我已经做过了。将其转换为字节,然后从另一方面接收。但如何将这些字节转换为该类型的对象。 这是在客户端将对象转换为StringIO并发送到服务器的代码。在服务器端,我得到字节。现在我正在搜索要再次转换为StringIO的字节,以便获得对象值。 在代码中,对象被包装在StringIO中,并通过套接字发送。任何更

  • 我正试图通过Java的socket发送一个custome对象。我知道我需要将具有我需要发送的对象的类放在相同的包中,具有相同的serialVersionUID并实现Serializable。我已经这样做了,但我仍然不能通过套接字发送对象。我错在哪里了? 以下是客户端代码: 客户端中的类用户 发送user类对象的代码: 这里是服务器的代码: user类的代码:与客户端的user完全相同(我从客户端复

  • 我正在尝试使用Retrofit2和静态编程语言发送一个复杂对象作为我请求的参数。该对象的结构如下: 列表字段的数量是不同的(可以是2个列表,也可以是10个)以及每个列表中的项目数量。我正在使用以下代码来实现这一点,之前用适当的值填充了我的Map: 由于某种原因,这种方法无法正常工作,服务器只是忽略了我的参数。我还尝试将它们作为string/ject发送,但服务器似乎只接受FormUrlEncode

  • 我有一个问题,然后通过套接字发送列表,它必须是字节样的对象,好吧,我可以转换它字符串,然后做,但问题是字符串,这是很难重建它 列表从字符串,和从库 没有工作,然后我有这样的东西: 这就是问题所在,我必须拥有这些对象,我的问题是如何发送python对象而不需要将其转换为字符串,或者类似于JSON之类的对象符号? 这可以通过Python套接字文档在基本套接字服务器上进行测试。 失败的文本评估: 错误:

  • 问题内容: 我定义一个类,然后设置该类类型的对象。我想将此对象透明地发送到在另一台计算机上运行的另一个Java应用程序。什么是实现这一目标的最佳技术? 问题答案: 您可以使用Java API创建对象流并发送任何可序列化的对象。但您必须注意,这些内容不会通过网络进行加密: 在发送方方面: 在接收端:

  • 问题内容: 我要通过TCP / IP编写程序,我应该通过客户端或服务器发送对象,当我想发送或接收字符串但尝试读取对象时,它是正确的: 我收到一个例外: 它指的是这一行: 这是我的服务器代码: 客户端代码: 谁能解释我发生了什么,这个例外是什么,为什么我收到这个例外? 问题答案: 只是摆脱发送和接收布尔值的麻烦。这是多余的。如果在创建连接时遇到问题,则不会创建套接字:而是抛出异常。您会将所有内容与同