【问题标题】:How to send json message via sockets with SSL如何使用 SSL 通过套接字发送 json 消息
【发布时间】:2014-12-20 16:05:32
【问题描述】:

好的,所以我创建了一个 C# 应用程序,它使用套接字发送原始 json 格式的消息。然后它监听响应,然后将响应打印到一个盒子。此代码有效,但是我现在需要添加 SSL 支持,我什至不知道从哪里开始。我想保持基本逻辑尽可能接近这一点,我只需要对所有内容进行 SSL 加密......你们能给我一些关于如何最好地解决这个问题的建议或想法吗?我看到了 sslstream 类,但我不太确定如何将它集成到我现有的代码中。

这是我的代码:

private void test_button_Click(object sender, EventArgs e)
    {
      System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
      clientSocket.Connect("127.0.0.1", 7777);

      string get_menu_request = "{\"request\": \"get_stuff\"}";
      NetworkStream serverStream = clientSocket.GetStream();
      byte[] outStream = System.Text.Encoding.ASCII.GetBytes(get_stuff_request);
      serverStream.Write(outStream, 0, outStream.Length);
      serverStream.Flush();

      byte[] inStream = new byte[10025];
      serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
      string _returndata = System.Text.Encoding.ASCII.GetString(inStream);

      response_text_box.AppendText(_returndata);
}

【问题讨论】:

    标签: c# .net winforms sockets ssl


    【解决方案1】:

    如您所述,.Net 具有 SSLStream 类,并且在 MSDN 页面底部有示例。这也已在其他地方进行了介绍,因此我将仅链接到一个示例。 “SSL 示例”链接详细介绍了如何构建套接字以及设置客户端和服务器。请记住,SSL 是基于证书的,因此您必须创建一个有效的证书并将其与您的流相关联。

    MSDN SSL Stream Class

    SslStream Sample

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-31
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2013-07-12
      • 1970-01-01
      相关资源
      最近更新 更多