Hallo Leute,
ich bin gerade dabei eine "Fernsteuerung" für einen Bukkit-Minecraft Server zu bauen (mit .NET/C#), allerdings habe ich ein Problem, ich möchte ja nicht nur das output abfangen sondern gleichzeitig auch zu jeder Zeit in den input Stream schreiben können. Das heisst das ich in meiner Anwendung einen Server -Command eingebe und er an die anwendung in den InputStream geleitet wird, habt ihr Ideen, wie ich das realisieren kann?
MfG Chris!
ich bin gerade dabei eine "Fernsteuerung" für einen Bukkit-Minecraft Server zu bauen (mit .NET/C#), allerdings habe ich ein Problem, ich möchte ja nicht nur das output abfangen sondern gleichzeitig auch zu jeder Zeit in den input Stream schreiben können. Das heisst das ich in meiner Anwendung einen Server -Command eingebe und er an die anwendung in den InputStream geleitet wird, habt ihr Ideen, wie ich das realisieren kann?
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
namespace Bukkit_Commander
{
class Program
{
static void Main(string[] args)
{
Process Server = new Process();
ProcessStartInfo ServerStartInfo = new ProcessStartInfo(File.ReadAllText(Application.StartupPath + "\\JREPath.txt"));
ServerStartInfo.Arguments = "-Xmx1024M -Xms1024M -jar \"" + File.ReadAllText(Application.StartupPath + "\\ServerPath.txt") + "\"";
ServerStartInfo.CreateNoWindow = true;
ServerStartInfo.RedirectStandardOutput = true;
ServerStartInfo.RedirectStandardInput = true;
ServerStartInfo.RedirectStandardError = true;
ServerStartInfo.UseShellExecute = false;
Server.StartInfo = ServerStartInfo;
Server.ErrorDataReceived += Server_Error;
Server.OutputDataReceived += Server_Output;
Server.Start();
Server.BeginErrorReadLine();
Server.BeginOutputReadLine();
Server.WaitForExit();
}
static void Server_Error(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(e.Data.ToString());
}
static void Server_Output(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(e.Data.ToString());
}
}
}
MfG Chris!