static void Main(string[] args) { NetworkUtils.NetworkUtils.SayHello(); TcpClient client = new TcpClient("127.0.0.1", 1330); NetworkStream networkStream = client.GetStream(); bool done = false; Console.WriteLine("Type 'bye' to end connection"); while (!done) { Console.Write("Enter a message to send to server: "); string message = Console.ReadLine(); #if USE_DELIMETER // Gebruik van optie 1: ClientServerUtil.WriteTextMessage(networkStream, message); #else // Gebruik van optie 2: ClientServerUtil.SendMessage(networkStream, message); #endif string response = ClientServerUtil.ReadTextMessage(networkStream); Console.WriteLine("Response: " + response); done = response.Equals("BYE"); } client.Close(); networkStream.Close(); }
static void HandleClientThread(object obj) { TcpClient client = obj as TcpClient; if (client == null) { return; } NetworkStream networkStream = client.GetStream(); bool done = false; while (!done) { #if USE_DELIMITER // Package protocol optie 1: een \n geeft einde van de boodschap aan. string received = ClientServerUtil.ReadTextMessage(networkStream); #else // Optie 2: geef de lengte mee van de boodschap - uitwerking voor het practicum! string received = ClientServerUtil.ReadMessage(networkStream); #endif Console.WriteLine("Received: {0}", received); done = received.Equals("bye"); ClientServerUtil.WriteTextMessage(networkStream, done ? "BYE" : "OK"); } client.Close(); Console.WriteLine("Connection closed"); networkStream.Close(); Console.WriteLine("Networkstream closed"); }
/* ------------------------------------------ Server-Methoden ----------------------------------------------*/ public void PopulateGrid(int simulationFactoryId) { ClientServerUtil csu = ClientServerUtil.getInstance(); Sim.productMap productMap = csu.GetProducts(simulationFactoryId); if (productMap != null) { foreach (Sim.productMapEntry entry in productMap.productMap1.AsEnumerable()) { Sim.position position = entry.key; Sim.product[] products = entry.value; for (int i = 0; i < products.Count(); i++) { Point3D point = TransformServerToClientCoords(ChangeProductPoints(i, position)); Product product = GetProductByID(products[i].id); if (product == null) { product = CreateProduct(products[i].id, point, point, products[i].name); PlaceProduct(product); } else { product.position = point; product.UpdateModelProperties(xOffset, yOffset); } } } } }
public void CreateItemOnServer(Point3D p, int classID) { ClientServerUtil csu = ClientServerUtil.getInstance(); int x = (int)TransformClientToServerCoords(p).X; int y = (int)TransformClientToServerCoords(p).Y; csu.CreateItem(classID, x, y, FactoryServiceReference.direction.NORTH); }
public void RemoveAllItemsOnServer() { ClientServerUtil csu = ClientServerUtil.getInstance(); if (modelList.Count > 0) { csu.DeleteItems(modelList.Select(item => item.instanceId).ToArray()); } }
public void RemoveSelectedItemsOnServer() { ClientServerUtil csu = ClientServerUtil.getInstance(); if (selectedItems.Count > 0) { csu.DeleteItems(selectedItems.Select(item => item.instanceId).ToArray()); } }
/** Der DropEventHandler platziert ein GridItem auf dem Canvas **/ // TODO: Refactoring.. viel zu lang die Methode protected override void OnDrop(DragEventArgs e) { Console.WriteLine("####### OnDrop-2D ######"); base.OnDrop(e); Image imgObj = e.Data.GetData("GRID_ITEM") as Image; int classID = int.Parse(e.Data.GetData("CLASS_ID").ToString()); BitmapImage contentImg = imgObj.Source as BitmapImage; #if DEBUG Console.WriteLine("GridCanvas.OnDrop: DragEventArgs.GetData('GRID_ITEM') lieferte " + contentImg.ToString()); #endif if (contentImg != null) { GridItem newItem = null; if (contentImg != null) { newItem = getGridItem(contentImg); #if DEBUG Console.WriteLine("GridCanvas.OnDrop: neues GridItem erstellt mit Contentelement " + newItem.Content.ToString()); #endif Point position = e.GetPosition(this); //TODO: Item darf nur hinzugefügt werden, wenn die Position frei ist.. double newX = Math.Max(0, position.X - newItem.Width / 2); double newY = Math.Max(0, position.Y - newItem.Height / 2); Point p1 = new Point(newX, newY); Point p = this.CalcGridPos(p1); Coordinate coord = this.CalcGridCoord(p); #if DEBUG Console.WriteLine("GridCanvas.OnDrop: neue Maschine auf dem Server erstellen lassen mit X = " + coord.Item1 + " und Y = " + coord.Item2); #endif // GO server.. newItem.instanceId = ClientServerUtil.getInstance().createItem(classID, coord.Item1, coord.Item2, FactoryServiceReference.direction.NORTH); if (newItem.instanceId != "") { //placeItem(newItem, coord.Item1, coord.Item2); this.DeselectAll(); newItem.IsSelected = true; } else { this.DeselectAll(); } } e.Handled = true; } }
/** Entfernt alle selektierten Items vom Grid **/ public void removeSelected() { List <GridItem> sel = new List <GridItem>(); foreach (GridItem item in SelectedItems) { sel.Add(item); } foreach (GridItem item in sel) { ClientServerUtil.getInstance().deleteItem(item.instanceId); } }
public void RotateItemsOnServer(string direction) { ClientServerUtil csu = ClientServerUtil.getInstance(); if (selectedItems.Count > 0) { if (direction == "left") { csu.RotateItemsLeft(selectedItems.Select(item => item.instanceId).ToArray()); } else // (direction == "right") { csu.RotateItemsRight(selectedItems.Select(item => item.instanceId).ToArray()); } } }
public void RotateItem(string itemId, string dir) { ClientServerUtil csu = ClientServerUtil.getInstance(); position p = csu.GetPosition(itemId); if (p != null) { GridItem3D item = GetItemByID(itemId); if (dir == "right") { item.rotateRight(); } else { item.rotateLeft(); } UpdateModel(); } }
public MainWindow() { InitializeComponent(); //ConsoleManager.Show(); icons = LoadIconSet(); this.Focusable = false; Width.Text = lines.Length.ToString(); Height.Text = lines.Width.ToString(); grid = new GridModel(lines.Width, lines.Length, icons); Loaded += new RoutedEventHandler(OnGridLoaded); SimulationSpeedTextBox.Text = "" + 3; ConsumerEmptyTextBox.Text = "" + 0; DataContext = grid; view.ClipToBounds = false; CreateToolbox(); Hide3DGrid(); optionWindow = new OptionsWindow(); optionWindow.configEvent += new EventHandler(optionWindow_configEvent); pluginWindow = new PluginWindow(); pluginWindow.InitializeComboBox(icons.GetAvailablePlugins()); pluginWindow.pluginEvent += new EventHandler(pluginWindow_pluginEvent); chatWindow = new ChatWindow(); csu = ClientServerUtil.getInstance(); csu.ClientServerEvent += new ClientServerEventHandler(csu_clientServerEvent); FactoryControll.IsEnabled = false; LoggedInControll.IsEnabled = false; }
/** Der MouseDrag Eventhandler für das GridThumb **/ private void GridThumb_DragDelta(object sender, DragDeltaEventArgs e) { Console.WriteLine("GridThumb"); GridItem item = this.DataContext as GridItem; if (item != null) { GridCanvas GridC = VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(this))) as GridCanvas; Point p = new Point(GridCanvas.GetLeft(item) + e.HorizontalChange, GridCanvas.GetTop(item) + e.VerticalChange); Coordinate coord = null; if (p != null) // wenn objekt gelöscht wurde, wärend wir verschieben ist p == null { coord = GridC.CalcGridCoord(p); // GO server.. if (coord != null) { ClientServerUtil.getInstance().moveItem(item.instanceId, coord.Item1, coord.Item2); #if DEBUG Console.WriteLine("\nObject Moved:"); #endif } } } }
public string GetScriptFromServer() { return(ClientServerUtil.getInstance().GetMachineScript(this.instanceId)); }
public void ScriptObjectOnServer(string script) { ClientServerUtil.getInstance().ScriptMachine(this.instanceId, script); }
/* ----------------------------- Server - Methods ------------------------------------ */ public void MoveItemOnServer(Point3D serverP) { ClientServerUtil.getInstance().MoveItem(this.instanceId, (int)serverP.X, (int)serverP.Y); }