小编tun*_*h24的帖子

在JSON反序列化期间确定类型

我正在研究一种协议,其中接收方将接收某些指定的自定义类型(当前为5,但可能为10-20)的json消息。我正在努力想出一个最优/快速的解决方案,它将自动反序列化json并返回正确类型的对象。

例:

public class MessageA
{
    public string Message;
} 

public class MessageB
{
    public int value;
}

public class MessageC
{
    public string ValueA;
    public string ValueB;
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,方法应类似于

 Object Deserialize(string json);
Run Code Online (Sandbox Code Playgroud)

它将返回三种消息类型之一或为null-如果发生解析错误/ json与任何预定义类型都不匹配。

更新:我可以控制发送器/接收器以及协议设计。

c# serialization json json.net

5
推荐指数
1
解决办法
5955
查看次数

在 RegEx 中提取组和子组

在某种程度上,这个问题是我之前回答的问题的延续:获取“未终止 [] 设置”。C# 中的错误

我在 C# 中使用正则表达式来提取 URL:

Regex find = new Regex(@"(?<First>[,""]url=)(?<Url>[^\\]+)(?<Last>\\u00)");
Run Code Online (Sandbox Code Playgroud)

其中文本包含以下格式的 URL:

,url= http://domain.com?itag=25 \u0026,url= http://hello.com?itag=11 \u0026

我在“Url”组中获取整个 URL,但我还希望在单独的“iTag”组中拥有 itag 值。我知道这可以使用子组来完成,我一直在尝试,但无法弄清楚如何做到这一点。

c# regex

4
推荐指数
1
解决办法
6605
查看次数

ECDHE-PSK mbedTLS的例子?

我试图弄清楚如何使用mbedTLS(以前的PolarSSL)在两个对等体之间执行ECDHE-PSK加密.不幸的是,我没有任何关于API的文章/文档需要使用吗?

encryption polarssl mbed tls1.2

3
推荐指数
1
解决办法
2823
查看次数

如何使用 openssl 进行 TLS 1.3 PSK?

我正在开发客户端/服务器软件,并试图弄清楚如何使用 openssl 设置 TLS 1.3 PSK 连接。显然,与 TLS 1.2(及更低版本)相比有不同的回调,但 openssl 文档很糟糕,我无法真正理解完整流程。

有人可以提供有关如何在这些回调中返回信息的示例代码吗?

int SSL_psk_use_session_cb_func(SSL *ssl, const EVP_MD *md,const unsigned char **id,size_t *idlen,SSL_SESSION **sess);   

int (*SSL_psk_find_session_cb_func)(SSL *ssl,const unsigned char *identity,size_t identity_len,SSL_SESSION **sess);
Run Code Online (Sandbox Code Playgroud)
  1. 我的理解是,在 TLS1.3 中 Identity Hint 是 NULL,那么为什么这些 TLS1.3 特定的回调中有标识字段呢?
  2. 在某处阅读 TLS 1.3 有一组不同的密码套件,PSK AES256 和 PSK CHACHA20 的名称是什么
  3. 就我而言,服务器将只接受一个连接,即 P2P 数据链路。我是否仍然需要让一侧充当服务器,即使用 find_session_cb 而不是 use_session_cb?

ssl openssl

2
推荐指数
1
解决办法
2339
查看次数

StackExchange NetGain vs Node.js WS websocket服务器性能

我主要是一个C#/ .NET开发人员,需要编写一个相对简单但高性能且稳定的websocket服务器.目前,看起来微软的websocket相关工作的唯一官方平台是SignalR.但是,根据我的需要,它会增加太多的开销.

另一个看起来很吸引人的选择是StackExchange的NetGain库,但是除了github页面之外,似乎没有太多的信息.在stackoverflow上甚至没有与该库相关的问题/答案.我确实在stackexchange上找到了一个推特帖子,显示NetGain提供500K并发会话,但这些会话分布在多台机器上.相比之下,Node.js上的WS模块可以在单个服务器上处理550K.

Node.js上的WS模块比NetGain更有效吗?对于简单的基于NetGain的websocket服务器,我可以在一台基于四核的机器上拥有多少并发连接?我真的很想使用NetGain并继续使用C#,因为我还在学习Node.js,但是,如果有一个很大的性能差异,我宁愿选择Node.

c# websocket node.js

1
推荐指数
1
解决办法
883
查看次数

标签 统计

c# ×3

encryption ×1

json ×1

json.net ×1

mbed ×1

node.js ×1

openssl ×1

polarssl ×1

regex ×1

serialization ×1

ssl ×1

tls1.2 ×1

websocket ×1