Auslesen des Minecraft Bukkit Server Ausgabe

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Sirati.

    Auslesen des Minecraft Bukkit Server Ausgabe

    Hi Leute,
    Ich habe es mitlerweile geschafft die Ausgabe von programmen abzufangen und auszugeben.
    Problem:
    der Minecraft Bukkit Server gibt das ganze auf eine kommische art aus.
    es schreibt am anfang er zwei normale Zeite.
    und dann fügt er am ende ein '>' ein
    ab jetzt fügt er jede zeile vor diesem zeichen ein.
    und beim auslesen kommt dann nur das '>' und nicht der Text.
    ?????????????????????????????

    nur so neben bei mein code ist richtig. habe das ganze mir 'ping.exe google.de -t' ausprobiert kein problem!
    wenn ich es genauer haben wollt macht euch einen bukkit server und schaut euch beim laden des servers das '>' zeichen an

    Euer Sirati :thumbsup:

    VB.NET-Quellcode

    1. wenn ich es genauer haben wollt macht euch einen bukkit server und schaut euch beim laden des servers das '>' zeichen an

    Geht perfekt. What's the matter?

    Du musst natürlich den Output der Konsole richtig interpretieren.
    Gerade beim Arbeiten unter Windows kann sich die Java Konsole etwas ungewohnt darstellen.
    Und wie
    mein code ist:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Threading
    2. Public Class ServerListener
    3. WithEvents Server_Process As Process
    4. Dim listener_thread As Thread
    5. Dim Server_Output_stream As IO.StreamReader
    6. Public Sub New(Datei As IO.FileInfo, Args As String)
    7. Server_Process = New Process
    8. Server_Process.StartInfo.FileName = Datei.FullName
    9. Server_Process.StartInfo.UseShellExecute = False
    10. Server_Process.StartInfo.RedirectStandardError = True
    11. 'Server_Process.StartInfo.RedirectStandardInput = True
    12. Server_Process.StartInfo.RedirectStandardOutput = True
    13. Server_Process.EnableRaisingEvents = True
    14. Server_Process.StartInfo.Arguments = Args
    15. Server_Process.Start()
    16. Dim start As New ThreadStart(AddressOf listening)
    17. listener_thread = New Thread(start)
    18. listener_thread.Start()
    19. End Sub
    20. Private Sub listening()
    21. Server_Process.BeginOutputReadLine()
    22. End Sub
    23. Private Sub Server_Process_ErrorDataReceived(sender As Object, e As System.Diagnostics.DataReceivedEventArgs) Handles Server_Process.ErrorDataReceived
    24. outstream.Enqueue(e.Data)
    25. End Sub
    26. Private Sub Server_Process_Exited(sender As Object, e As System.EventArgs) Handles Server_Process.Exited
    27. MsgBox("123")
    28. End Sub
    29. Public outstream As New Queue(Of String)
    30. Private Sub Server_Process_OutputDataReceived(sender As Object, e As System.Diagnostics.DataReceivedEventArgs) Handles Server_Process.OutputDataReceived
    31. outstream.Enqueue(e.Data)
    32. End Sub
    33. End Class

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

    das mit der queue
    ich atte keine lust ein event zu machen
    aber ich habe das ganze vorhat mit debug.print gemachet also tut tas nichts zur sache.


    ach nochwas ich habe den code mit deinem thread dazu gemacht Manawyrm!
    hehe.

    Hat ich's doch richtig in Erinnerung...
    MC schreibt std.mäßig in Ch2...

    Deine Zeile

    VB.NET-Quellcode

    1. Server_Process.BeginOutputReadLine()

    muss

    VB.NET-Quellcode

    1. Server_Process.BeginErrorReadLine()

    heißen.

    Gruß,
    Manawyrm

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

    Erste farge Warum. Ich will doch den output.
    Und Zweitens es macht keinen unterschied.