public Response Send(Request request) { Response response = null; TcpClient client = null; try { client = new TcpClient(); client.Connect(Address, Port); BinaryFormatter serializer = new BinaryFormatter(); serializer.Serialize(client.GetStream(), request); client.GetStream().Flush(); BinaryFormatter deserializer = new BinaryFormatter(); response = (Response)deserializer.Deserialize(client.GetStream()); } catch (SocketException e) { response = new Response(); response.type = ResponseType.Fail; response.param = "Ошибка соединения с сервером.\nВозможно Cервер не запущет или неправильные настройкаи клиента.\n\nСообщение:\n" + e.Message; } finally { if (client != null) { client.Close(); } } return response; }
public bool DeleteItem(Item item) { Request request = new Request(); request.type = item.DeleteType; request.param = item.id; Response responce = Send(request); return AnalizeResult(responce); }
public bool GetItem(int id, ref Item item) { Request request = new Request(); request.type = item.GetType; request.param = id; Response responce = Send(request); if (AnalizeResult(responce)) { item = (Item)responce.param; return true; } item = null; return false; }
public bool GetAllItems(ref Item[] res, Item helper) { Request request = new Request(); request.type = helper.GatAllType; request.param = null; Response responce = Send(request); if (AnalizeResult(responce)) { res = (Item[])responce.param; return true; } res = null; return false; }
public bool SaveItem(ref Item p) { Request request = new Request(); request.type = p.SaveType; request.param = p; Response responce = Send(request); if (AnalizeResult(responce)) { p = (Item)responce.param; return true; } else { return false; } }