Remote Desktop mit Chat Funktion

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Nanokruemel.

    Remote Desktop mit Chat Funktion

    Hallo,

    Ich habe jetzt mein Remote Desktop mit Chat Funktion fertig gestellt, bzw. wieder aufgefrischt. Jetzt habe ich aber ein Problem, denn es werden drei Fehler angezeigt, wo ich mir mittlerweile todsicher sind, dass da keine sind.
    Ich haette zwei Punkte:
    1. Kann jemand es "entfehlern"? (Im nachhinein der Code mit den Fehlern)
    2. Da ich mir wirklich todsicher bin, weil ich damals schon mal so ein aehnliches Programm gemacht habe, dass es keine Fehler sind, kann mir jemand sagen, wie ich die Programm exe trotz der Fehler erstellen kann?

    Angenehmen Samstag,
    Kruemelchen.

    Code:

    VB.NET-Quellcode

    1. Private Sub SavefileTS()
    2. RaiseEvent DiagnosticMessage("File transfer session initiated")
    3. Dim i As Integer = 0
    4. Dim fl As Sockets.TcpListener = fileListener
    5. fileListener = Nothing
    6. Try
    7. While Not fl.Pending
    8. i += 1
    9. Threading.Thread.CurrentThread.Sleep(100)
    10. If i = 100 Then Throw New Exception
    11. End While
    12. While fl.Pending
    13. Saveonefile(fl)
    14. Threading.Thread.CurrentThread.Sleep(2000)
    15. End While
    16. RaiseEvent DiagnosticMessage("File transfer session terminated OK")
    17. Catch ex As Exception
    18. RaiseEvent DiagnosticMessage("File transfer session terminated unepectedly")
    19. End Try
    20. fl.Stop()
    21. End Sub

    VB.NET-Quellcode

    1. Private Sub SendFilesTS()
    2. isSendingFile = True
    3. Dim FullFileName As String = FileQueque.Pop
    4. Dim tstrings As String() = FullFileName.Split("\")
    5. Dim FileName As String = tstrings(tstrings.Length - 1)
    6. Dim wd As Long = 0
    7. Dim fileStream As System.IO.Stream
    8. Dim client As New System.Net.Sockets.Socket(Sockets.AddressFamily.InterNetwork, Sockets.SocketType.Stream, Sockets.ProtocolType.Tcp)
    9. Dim rep As New System.Net.IPEndPoint(CurrFileAddr, FilePort)
    10. Try
    11. client.Connect(rep)
    12. fileStream = IO.File.Open(FullFileName, IO.FileMode.Open, IO.FileAccess.Read)
    13. Catch SEx As Sockets.SocketException
    14. Throw New Exception("Connection fail")
    15. Catch IOEx As IO.IOException
    16. Throw New Exception("Unable to open file")
    17. End Try
    18. sendBufferLenght(FileName.Length, client)
    19. Dim nameBuff() As Byte = System.Text.Encoding.Default.GetBytes(FileName.ToCharArray)
    20. client.Send(nameBuff, 0, nameBuff.Length, Sockets.SocketFlags.None)
    21. Dim buffer(PacketSize - 1) As Byte
    22. wd = fileStream.Read(buffer, 0, PacketSize)
    23. While wd > 0
    24. client.Send(buffer, wd, Sockets.SocketFlags.None)
    25. wd = fileStream.Read(buffer, 0, PacketSize)
    26. End While
    27. fileStream.Close()
    28. fileStream = Nothing
    29. buffer = Nothing
    30. client.Close()
    31. Try
    32. FileQueque.Peek()
    33. SendFilesTS()
    34. Catch ex As Exception
    35. End Try
    36. isSendingFile = False
    37. End Sub

    VB.NET-Quellcode

    1. Private Sub Saveonefile(ByRef fl As Sockets.TcpListener)
    2. Dim Client As Sockets.Socket
    3. Dim name As String
    4. Dim buffer(PacketSize - 1) As Byte
    5. Dim lingerOption As New Sockets.LingerOption(True, 10)
    6. Dim wd As Double = 0
    7. Try
    8. Client = fl.AcceptSocket
    9. Client.SetSocketOption(Sockets.SocketOptionLevel.Socket, Sockets.SocketOptionName.Linger, lingerOption)
    10. Dim dName As Integer = receiveBufferLenght(Client)
    11. Dim nameBuff(dName - 1) As Byte
    12. Client.Receive(nameBuff, 0, nameBuff.Length, Sockets.SocketFlags.None)
    13. name = Text.Encoding.Default.GetString(nameBuff)
    14. RaiseEvent DiagnosticMessage("Incoming file..." + name)
    15. Dim incomingfile As System.IO.Stream
    16. incomingfile = IO.File.Open(DirectoryPath + name, IO.FileMode.OpenOrCreate)
    17. wd = Client.Receive(buffer, PacketSize, Sockets.SocketFlags.None)
    18. While wd > 0
    19. incomingfile.Write(buffer, 0, wd)
    20. wd = Client.Receive(buffer, PacketSize, Sockets.SocketFlags.None)
    21. End While
    22. incomingfile.Close()
    23. incomingfile = Nothing
    24. RaiseEvent DiagnosticMessage("File complete!" + DirectoryPath + name)
    25. filecomplete()
    26. Catch ex As Exception
    27. End Try
    28. If Not Client Is Nothing Then
    29. Client.Close()
    30. Client = Nothing
    31. End If
    32. End Sub


    P.S.: Ich bin jetzt (leider) drei Wochen im Urlaub und kann keine Ruecknachrichten geben. Vielen Dank fuer HIlfe im Vorraus.
    Ich hatte eigentlich im Code ROT makiert:

    Fehler 3 Fehler bei der Überladungsauflösung, da keine zugreifbare "Send" ohne einschränkende Konvertierung aufgerufen werden kann:
    'Public Function Send(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "buffers" wird von "1-dimensionales Array von Byte" auf "System.Collections.Generic.IList(Of System.ArraySegment(Of Byte))" reduziert.
    'Public Function Send(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "socketFlags" wird von "Long" auf "System.Net.Sockets.SocketFlags" reduziert.
    'Public Function Send(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "errorCode" wird von "System.Net.Sockets.SocketFlags" auf "System.Net.Sockets.SocketError" reduziert.
    'Public Function Send(buffer() As Byte, size As Integer, socketFlags As System.Net.Sockets.SocketFlags) As Integer': Der mit dem Argument übereinstimmende Parameter "size" wird von "Long" auf "Integer" reduziert. I:\Die anderen Ordner\LF\VB\Projektmappen\Remote (Kann aber als Virus angezeigt werden)\Master Control\Backup\Backup\Backup\Backup\Backup\ClientClass.vb 79 13 WindowsApplication5


    Fehler 20 Fehler bei der Überladungsauflösung, da keine zugreifbare "Receive" ohne einschränkende Konvertierung aufgerufen werden kann:
    'Public Function Receive(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "buffers" wird von "1-dimensionales Array von Byte" auf "System.Collections.Generic.IList(Of System.ArraySegment(Of Byte))" reduziert.
    'Public Function Receive(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "socketFlags" wird von "Long" auf "System.Net.Sockets.SocketFlags" reduziert.
    'Public Function Receive(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "errorCode" wird von "System.Net.Sockets.SocketFlags" auf "System.Net.Sockets.SocketError" reduziert.
    'Public Function Receive(buffer() As Byte, size As Integer, socketFlags As System.Net.Sockets.SocketFlags) As Integer': Der mit dem Argument übereinstimmende Parameter "size" wird von "Long" auf "Integer" reduziert. I:\Die anderen Ordner\LF\VB\Projektmappen\Remote (Kann aber als Virus angezeigt werden)\Master Control\Backup\Backup\Backup\Backup\Backup\ServerClass.vb 189 18 WindowsApplication5


    Fehler 21 Fehler bei der Überladungsauflösung, da keine zugreifbare "Receive" ohne einschränkende Konvertierung aufgerufen werden kann:
    'Public Function Receive(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "buffers" wird von "1-dimensionales Array von Byte" auf "System.Collections.Generic.IList(Of System.ArraySegment(Of Byte))" reduziert.
    'Public Function Receive(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "socketFlags" wird von "Long" auf "System.Net.Sockets.SocketFlags" reduziert.
    'Public Function Receive(buffers As System.Collections.Generic.IList(Of System.ArraySegment(Of Byte)), socketFlags As System.Net.Sockets.SocketFlags, ByRef errorCode As System.Net.Sockets.SocketError) As Integer': Der mit dem Argument übereinstimmende Parameter "errorCode" wird von "System.Net.Sockets.SocketFlags" auf "System.Net.Sockets.SocketError" reduziert.
    'Public Function Receive(buffer() As Byte, size As Integer, socketFlags As System.Net.Sockets.SocketFlags) As Integer': Der mit dem Argument übereinstimmende Parameter "size" wird von "Long" auf "Integer" reduziert. I:\Die anderen Ordner\LF\VB\Projektmappen\Remote (Kann aber als Virus angezeigt werden)\Master Control\Backup\Backup\Backup\Backup\Backup\ServerClass.vb 192 22 WindowsApplication5