1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/visonjack-JackNetty

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

JackNetty

Использование Android-клиента

  1. Необходимо импортировать пакеты:

    • Скачать по ссылке: http://netty.io (ссылка на скачивание).
    • JackNetty.jar
    • netty-buffer-5.0.0.Alpha2.jar
    • netty-codec-5.0.0.Alpha2.jar
    • netty-common-5.0.0.Alpha2.jar
    • netty-handler-5.0.0.Alpha2.jar
    • netty-resolver-5.0.0.Alpha2.jar
    • netty-transport-5.0.0.Alpha2.jar
  2. Gradle:

    • Добавить:
      • packagingOptions {
        • exclude 'META-INF/io.netty.versions.properties'
        • exclude 'META-INF/INDEX.LIST' }
      • dependencies { // Коммуникационные зависимости:
        • compile files('libs/JackNetty.jar')
        • compile files('libs/netty-buffer-5.0.0.Alpha2.jar')
        • compile files('libs/netty-codec-5.0.0.Alpha2.jar')
        • compile files('libs/netty-common-5.0.0.Alpha2.jar')
        • compile files('libs/netty-handler-5.0.0.Alpha2.jar')
        • compile files('libs/netty-resolver-5.0.0.Alpha2.jar')
        • compile files('libs/netty-transport-5.0.0.Alpha2.jar') }
  3. Реализовать интерфейс журнала:

    • Реализовать ILogger в JackNetty.jar, например:
      • public class DefaultLogger implements ILogger {
        • @Override
        • public void error(Class tag, String error) {
          • System.out.println("tag:"+tag.getName()+"|error:"+error); }
        • @Override
        • public void warn(Class tag, String warn) {
          • System.out.println("tag:"+tag.getName()+"|warn:"+warn); }
        • @Override
        • public void debug(Class tag, String debug) {
          • System.out.println("tag:"+tag.getName()+"|debug:"+debug); }
        • @Override
        • public void info(Class tag, String info) {
          • System.out.println("tag:"+tag.getName()+"|info:"+info); } }
      • Логирование можно настроить в соответствии с требованиями.
  4. В приложении вызвать:

    • LoggerManager.getInstance().setiLogger(new DefaultLogger());
    • Таким образом, будет настроена базовая коммуникация для отображения журналов.
  5. Пользовательский клиент связи:

    • Рекомендуется реализовать TLVClientListener в сервисе и создать новый XXXServer, который наследует TLVClient.
    • Пример:
      • public class UserService extends Service implements TLVClientListener {
      • @Nullable
      • @Override
      • public IBinder onBind(Intent intent) {
        • return null; }
      • @Override
      • public int onStartCommand(Intent intent, int flags, int startId) {
        • //return super.onStartCommand(intent, flags, startId);
        • return START_STICKY; }
      • @Override
      • public void onCreate() {
        • super.onCreate();
        • LoggerManager.getInstance().getiLogger().info(UserService.class,"UserService 开始启动");
        • UserServer.getInstance().setContext(this);
        • UserServer.getInstance().setClientName("android сервис");
        • UserServer.getInstance().setIp("211.157.134.22");
        • UserServer.getInstance().setPort(53654);
        • UserServer.getInstance().setRestartFlag(true);
        • UserServer.getInstance().setTlvClientListener(this);
        • new Thread(new Runnable() {
          • @Override
          • public void run() {
            • UserServer.getInstance().start(); } }).start();
        • LoggerManager.getInstance().getiLogger().info(UserService.class, "UserService 启动完成"); }
      • @Override
      • public void onDestroy() {
        • super.onDestroy();
        • UserServer.getInstance().stop();
        • //Если есть эта строка, нижний уровень автоматически перезапустит поток подключения и переподключится, если нет, служба автоматически закроется
        • UserServer.getInstance().setManualCloseFlag(false); }
      • @Override
      • public void onConnect(String serverId) {
        • UserServer.getInstance().doOnConnect(); }
      • @Override
      • public void onDisconnect(String serverId) {
        • UserServer.getInstance().doOnDisconnect(); }
      • @Override
      • public void onMessage(String serverId,String msg) {
        • try{
          • UserServer.getInstance().preDoMessage(msg); }catch (Exception e){
          • Log.e(getClass().getName(),"Обработка сообщения ошибка:" + e.getMessage()); } } } Класс UserServer расширяет класс TLVClient:

    private static UserServer userServer; private Context context;

    private UserServer() {

    }

    public Context getContext() { return context; }

    public void setContext(Context context) { this.context = context; }

    public static UserServer getInstance() { if (userServer == null) { userServer = new UserServer(); } return userServer; }

    public void doOnConnect() {

    }

    public void doOnDisconnect() {

    }

    public void preDoMessage(String msgStr) {

    }

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Джек Нетти 5, применимо к Android и серверу. Развернуть Свернуть
MulanPSL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/visonjack-JackNetty.git
git@api.gitlife.ru:oschina-mirror/visonjack-JackNetty.git
oschina-mirror
visonjack-JackNetty
visonjack-JackNetty
master