j2me netbeans - параллельная передача данных (требуется набросок) - PullRequest
1 голос
/ 22 февраля 2012

Я новичок в мобильных приложениях j2me.У меня есть проект колледжа, который должен быть выполнен в течение месяца.Мне нужна некоторая базовая идея о том, как это можно сделать.Я использую платформу Netbeans 6.8 j2me.Мне нужно создать источник, пункт назначения и множество промежуточных узлов (мобильных телефонов).Файл должен быть отправлен (я использую Bluetooth) от источника к месту назначения через несколько промежуточных узлов.Файл может быть разбит на куски, а также может быть подразделен на любом уровне.

http://imageshack.us/photo/my-images/692/parallelism.jpg/

Вот как это должно работать:

  1. Первоначально источник отправляет простые объекты класса (присутствующие во всех узлах) по назначению через несколько путей.Каждый узел будет обновлять объект, включая его адрес Bluetooth, и передает его следующему узлу.Когда он достигает пункта назначения, тот же объект отправляется обратно к источнику.Источник определяет некоторые из оптимальных путей и использует их для передачи файлов.

  2. Источник разбивает файл и отправляет их ближайшим узлам.Промежуточные узлы также могут разбивать и отправлять разделенные части.

  3. Когда все детали достигают места назначения, они объединяются и файл восстанавливается.

    Я создал отдельноПроект NetBeans для исходного, конечного и промежуточного узла.Разделение: Я успешно разделил, преобразовав файл в байтовый массив и создав файлы, используя File connection & outputtream

    public void splitfiles(int len)
      {
    String url="file:///root1/testfile.jpg";
    // int len = 102400;
    byte buffer[] = new byte[size];
    int count = 0;
    
     try
        {
    FileConnection fconi = (FileConnection)Connector.open(url,Connector.READ);
    InputStream fis = fconi.openInputStream();
    
         while (true)
         {
          int i = fis.read(buffer, 0, len);  //creating byte array of size "len" bytes
          if (i == -1)
             break;
          ++count;
    
      String filename ="file:///root1/testfile.part" + count;
      FileConnection fcono = (FileConnection)Connector.open(filename,Connector.READ_WRITE);
      if (!fcono.exists())
            fcono.create();
      OutputStream fos = fcono.openOutputStream();
    
      fos.write(buffer, 0, i);  //creating files out of byte array "buffer"
      fos.close();
      fcono.close();
    }  
    
    }
    catch(Exception e)
            {        }
    }
    

Пожалуйста, скажите мне, как присоединиться к файлам (я присоединился к ним, используяJava-класс "RandomAcessFile", которого нет в j2me).Я попытался следующим образом

while(number of chunks)
{
read a single file in inputstream (files are read one after the other)
copy it to a byte array and flush inputstream
write it to ouputstream
}
copy outputstream to a file
flush outputstream

Пожалуйста, дайте мне некоторое представление о

  1. , как присоединиться к чанам в j2me
  2. Как передать объект классачерез блютуз
...