На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Передача данных между компьютерами.
    Всем привет.
    Люди, спасите погибающего. Щас как известно идёт сессия и мне нужно решить задачу к 20 числу,
    иначе сессия будет завалена и возможно даже выгонят из института. Ну не будем о плохом.
    Прога должна сохранить данные в файл и заодно передать эти данные на др. компьютер. Данные
    представляют собой просто числа/текст. Компы подсоеденены к локальной сети. Второй компьютер
    должен получить передаваемые данные и выдать результат на экран. Вопрос - как передавать
    данные между компьютерами.
    программа должна быть сделана на borland c++ по win.
    Буду очень признателен за помощь.
      Передавай через сокеты, как это делается смотри в ФАКе...
        Сеть мы не проходили на лекциях, а в скачанных книгах/статьях вообще нет ничего подобного. Мне бы хоть немного информации какими операторами нужно воспользоваться. Буду блогадарен, если скините немного инфы/кода мне на мыло - mcm@mail.ru
          Смотри здесь - http://www.sources.ru/cpp_network.shtml
            Не надо никаких сокетов. Всё реализуется как дважды-пять. :rolleyes:
            1) Заранее на принимающем, в локалке, компе открываешь шареную папку (папку общего доступа) с разрешениями писать в неё. Можно это сделать вручную на том, соседнем компе. Но можно и программно.
            2) Формируешь на своём компе файл данных.
            3) Инициализируешь структуру NetRes. Вот так примерно:
            ExpandedWrap disabled
              NETRESOURCE NetRes;
              //Инициализируется примерно так:
               NetRes.dwScope=RESOURCE_GLOBALNET;
               NetRes.dwType=RESOURCETYPE_DISK;
               NetRes.dwDisplayType=RESOURCEDISPLAYTYPE_GENERIC;
               NetRes.dwUsage=RESOURCEUSAGE_CONNECTABLE;
               NetRes.lpLocalName=NULL;
               NetRes.lpComment=NULL;
               NetRes.lpProvider=NULL;
               strcpy(RemoteDevice,ServiceDir);
               pStrTmp=strrchr(RemoteDevice,'\\');
               if(pStrTmp) *pStrTmp='\0';//Отрежем последний слэш т.к. с ним устр-во не отключается!
               NetRes.lpRemoteName=(LPTSTR)RemoteDevice;

            4) Коннектишься к устройству на соседнем компе, вот так:
            ExpandedWrap disabled
              Error=WNetAddConnection2(&NetRes,NULL,NULL,CONNECT_UPDATE_PROFILE);
              if((Error!=NO_ERROR)&&(Error!=ERROR_ALREADY_ASSIGNED)&&(Error!=ERROR_DEVICE_ALREADY_REMEMBERED))
              {
                 MessageBox(0,"Нет связи","",MB_SYSTEMMODAL|MB_OK);
                 return FALSE;
              };

            5) Используя функцию CopyFile() запросто копируешь файл со своего компа на соседний. Важно правильно указать пути.
            6) Дисконнектишься от устройства:
            ExpandedWrap disabled
              WNetCancelConnection2(NetRes.lpRemoteName,0,FALSE);

            ВСЁ! :D

            Работает под любой виндой.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0242 ]   [ 16 queries used ]   [ Generated: 2.05.24, 02:47 GMT ]