我有一個 JavaScript 客戶端。我有一個網(wǎng)絡套接字,它正在嘗試與我的服務器通信。我的網(wǎng)絡應用程序在 https 下運行,我使用 Open SSL 來獲取我的證書。在我的 C# 中,我使用 Socket 對象來接收客戶端請求。我的客戶端可以連接,但當我嘗試讀取/解析標頭時,它已加密。(我不知道如何解密)。如果我的網(wǎng)絡套接字不使用 SSL,問題就會消失。但是,即使我將客戶端中的 uri 設置為:var url = "ws://192.168.0.9:8090/Relayer";改為:var url = "wss://192.168.0.9:8090/Relayer";這是我的服務器代碼://server starting to listenserverSocket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP );serverSocket.Bind( new IPEndPoint( IPAddress.Any, 8090 ) );serverSocket.Listen( 128 );serverSocket.BeginAccept( null, 0, OnAccept, null );//server responding to Client Request:private static Socket serverSocket;private static void OnAccept(IAsyncResult result){ byte[] buffer = new byte[1024]; try { Socket client = null; string headerResponse = ""; if (serverSocket != null && serverSocket.IsBound) { client = serverSocket.EndAccept(result); var i = client.Receive(buffer); //my many attempts to read the data.... string unicode = (Encoding.UTF8.GetString(buffer)).Substring(0, i); string str = Uri.UnescapeDataString(unicode); var outputs = System.Net.WebUtility.HtmlDecode(unicode); } if (client != null) { /* Handshaking and managing ClientSocket */ } } catch (SocketException ex) { Logger.LogVerbose(LoggerNames.Error, ex.ToString()); } finally { if (serverSocket != null && serverSocket.IsBound) { serverSocket.BeginAccept(null, 0, OnAccept, null); } }}那么,我可以強制我的 Web 套接字不使用 SSL 嗎?謝謝好吧,閱讀完內(nèi)容后,我明白混合 http 和 https、ws 和 wss 不是一個好主意。任何使用 SSL/wss 使其工作的想法都會很好:)
即使我的網(wǎng)站是在 SSL 下提供服務,我是否可以強制我的 Web 套接字不使用 SSL?
幕布斯6054654
2023-08-20 11:10:07