Skip to content

jam891/WebSocketTest

Repository files navigation

WebSocketTest

Kaazing framework + CoreData, non ARC

Требования к приложению:

  1. iOS 6 и выше
  2. Universal app (iPhone + iPad, поддержка всех возможных размеров экранов)
  3. Ручная работа с памятью (без ARC)
  4. Минимум кода
  5. Максимальная стабильность во всех ситуациях
  6. Максимальная скорость реакции
  7. Понятный читаемый код
  8. Построение интерфейса по максимуму перенести в Storyboard

Описание: Приложение должно подключаться к EchoTest-серверу посредством WebSocket-ов и обеспечивать обмен данными по трем протоколам: XML, JSON, бинарные данные.

Детали: Приложение отсылает сформированные пользователем данные в выбранном пользователем формате (XML, JSON или бинарные данные). Данные отправляются в базу посредством CoreData. Отдельный объект-слушатель при внесении данных в базу пытается отправить их на Echo-сервер (http://www.websocket.org/echo.html), после чего дожидается подтверждения получения от сервера и оповещает пользователя об этом подтверждении.

Интерфейс: Один экран, на нем 3 UIViewController-а: 1й) Занимает верхнюю половину экрана. На нем располагаются данные:

а) Состояние подключения

б) Скроллящееся многострочное текстовое поле с логами о всех данных/состояниях сокета со временной отметкой (изменение состояния сокета, данные об ошибках сокета, принятые и отправленные пакеты). Информация об отправленных/принятых пакетах тут должна быть в чистом формате (NSString)

в) Область для отправки данных: в.1) Текстовое однострочное поле в.2) Switch типа “On/Off” (представленное в протоколе в виде BOOL-значения) в.3) SegmentControl для протокола передачи данного сообщения: XML/JSON/Binary в.4) Кнопка “Отправить"

2й) Занимает левую нижнюю четверть экрана. Он в себе содержит TableView со всеми отправленными/поставленными в очередь пакетами, с полной информацией о каждом в удобном для пользователя виде, временем отправки и статусом: отправлено/ожидает отправки. Как только пользователь нажимает на кнопку описанную в пункте 1.в.4 - данные попадают в базу, а оттуда в эту таблицу.

3й) Занимает правую нижнюю четверть экрана. Содержит в себе информацию о всех принятых пакетах.

About

Kaazing framework + CoreData, non ARC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published