我有一个网站,该网站应与C#WebSocketServer(.Net Standard 2.0)通信。
在我的网站上,我致电axis=1
C#WebSocketServer启动TCPListener并等待客户端(网站)并从客户端流中读取数据:
new WebSocket("ws://ipAddress:port/?SomeData");
在尝试使用安全连接并从网站TcpListener listener = new TcpListener(new IPEndPoint(this.IPAddress, this.Port));
listener.Start()
TcpClient client = await listener.AcceptTcpClientAsync();
using (NetworkStream stream = client.GetStream())
{
if (stream.DataAvailable)
{
byte[] bytes = new byte[client.Available];
stream.Read(bytes, 0, bytes.Length);
string data = Encoding.UTF8.GetString(bytes);
Console.WriteLine("Data: " + data);
}
}
拨打电话之前,此方法正常工作
然后将流中的数据加密,我无法对其解密(无法使用SSlStream)。
所以我尝试使用new WebSocket("wss://ipAddress:port/?SomeData");
而不是HttpListener
:
TcpListener
这甚至适用于不安全的呼叫,但是当我尝试使用HttpListener listener = new HttpListener();
listener.Prefixes.Clear();
listener.Prefixes.Add(string.Format("http://*:{0}/", this.PortHttp.ToString()));
listener.Prefixes.Add(string.Format("https://*:{0}/", this.PortHttps.ToString()));
listener.Start();
HttpListenerContext client = await listener.GetContextAsync();
HttpListenerWebSocketContext context = await client.AcceptWebSocketAsync(null);
进行连接时,我现在在我的网站中看到一个错误:
wss
我做错了什么?我该怎么做才能使其适用于不安全的电话?
(我认为WebSocket connection to 'wss://ipAddress:port/?SomeData' failed: Error in connection establishment: net::ERR_CONNECTION_RESET
是一个很好的解决方案,但是我没有找到一种加密数据的方法-除了使用TcpListener
之外还有其他方法吗?)