SignalR中使用LitJason IP连接问题

string ServerURI = "http://localhost:8735/";

客户端连接用 127.0.0.1 或者192.168.1.21 都连接不上。

解决方案: 把localhost改为 *    --> string ServerURI = "http://*:8735/";

1.SignalR数据回调,收到数据之后,需要反序列化成类对象。 但是在这个过程中,Int? 类型的转换,以及其他类型的转换都会出现问题。

后面去Git上把最新的LitJson替换到项目中,可空类型的转换问题解决。同时又出现了其他问题:

Type System.Object can't act as an array   at LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader) JsonMapper.cs:394

2. 在上一个问题解决后,DecodeMessage数据为空,最后都变成NonHub Message。

在Hub回调处,接收不到信息。

扫描二维码关注公众号,回复: 5033001 查看本文章

对比之前能正常接收回调的代码,发现增加以下代码之后,数据获取正常:

3.数据获取正常之后,在几个类型转换的地方又出现问题:

 Can't assign value '2068.00928' (type System.Double) to type System.Single   at JsonMapper.cs:381

double转float失败。后续发现JsonMapper中,提供了RegisterImporter。手动添加转换方法后,转换成功。

至此,数据反序列化成功。

//Todo:如再遇到问题,继续更新本博客。

猜你喜欢

转载自blog.csdn.net/Witness_K/article/details/83010809