Port forwarding mit Cryptostream

  • VB.NET

    Port forwarding mit Cryptostream

    Guten Tag,

    ich bin schon seit ungefähr zwei wochen dabei, ein Port forwarding in meinem Programm einzubauen, und die verbindung Zwischen Client + Client zu verschlüsseln.
    Die Verbindung zwischen ZeilHost + ZielHost soll unverschlüsselt sein.
    Ohen die Verschlüsselung funktionier es ohne Probleme. Mit bekomme ich folgenden Fehler:

    Quellcode

    1. Von der Übertragungsverbindung können keine Daten gelesen werden: Ein Blockierungsvorgang wurde durch einen Aufruf von WSACancelBlockingCall unterbrochen. ---> System.Net.Sockets.SocketException: Ein Blockierungsvorgang wurde durch einen Aufruf von WSACancelBlockingCall unterbrochen

    Ich werde dadurch leider nicht wirklich schlauer.
    Wäre nett, wenn einer drüber schauen könnte.

    VB.NET-Quellcode

    1. Private Sub StarteEmpfangen(ByVal verbObj As Object) Dim verb As Verbindung = CType(verbObj, Verbindung) verb.ConClient.Connect(ZielHost, ZielPort) Dim decrypt As CryptoStream = New CryptoStream(verb.ConClient.GetStream(), crypTrans(False), CryptoStreamMode.Read) Dim t As New System.Threading.Thread(AddressOf Weiterleiten) t.Start(New Stream() {decrypt, _ verb.ConServer.GetStream()}) Dim encrypt As CryptoStream = New CryptoStream(verb.ConClient.GetStream(), crypTrans(True), CryptoStreamMode.Write) Weiterleiten(New Stream() {verb.ConServer.GetStream(), _ encrypt}) End Sub
    2. Private Sub Weiterleiten(ByVal StreamsObj As Object) Dim Streams As Stream() = CType(StreamsObj, Stream()) Dim StrIn As Stream = Streams(0), StrOut As Stream = Streams(1) Dim buffer As Byte() = New Byte(9999) {} Try Do While True Dim readLen As Integer = StrIn.Read(buffer, 0, buffer.Length) If readLen <= 0 Then Exit Do StrOut.Write(buffer, 0, readLen) Loop Catch Ex As Exception My.Computer.FileSystem.WriteAllText("ProxyException.txt", Ex.ToString & vbNewLine, True) End Try StrOut.Close() End Sub


    Das Problem ensteht in der Sub Weiterleiten.


    Ich danke für jede antwort :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „canic“ ()