C++ fstream lan
Ostatnio zmodyfikowano 2010-12-25 10:36
Bartaz Temat założony przez niniejszego użytkownika |
C++ fstream lan » 2010-12-24 13:27:37 Witam mam taki pomysl na program ale nie wiem czy to wogole ma szanse zadzialac A wiec moj komputer jest poloczony z kompem sasiada przez kabel LAN i chce napisac komunikator tyle ze bez zadnego winsock'a tylko z iostream i fstream a polegalo by to na tym ze Pierwszy program byl by np u mnie drugi u kumpla na kompie i w "Moje miejsce sieciowe"(tam gdzie pliki mozna sobie udostepniac) byl by plik txt i np w program nr 1 zapysywal by w nim to co ja napisalem a drugi program odczytywal by tego pliku i tak w kolko. Narazie jestem na etapie ze program zapisuje wiadomosc do pliku a drugi program (w innym folderze) to odczytuje) ale dalej juz nic. Moze takie cos zadzialac? I jakies wskazowki byly by mile widziane ;p |
|
malan |
» 2010-12-24 15:19:58 Rozumiem, że nie udało Ci się jeszcze zapisać pliku na komputerze sąsiada? Hm... jeżeli ja bym chciał coś takiego pisać, to najpierw wszedłbym w "Moje miejsce sieciowe" -> WybrałKomputerSąsiada -> utworzył tam plik wtf.txt i zobaczył (PPM -> Właściwości) jaka jest ścieżka do niego. Potem liczyłbym na trochę szczęścia i po prostu napisał tak: std::fstream fileOnSecondComputer( "\\KOMPUTERSASIADA\wtf.txt", std::ios::out ); if( fileOnSecondComputer.good() ) { fileOnSecondComputer << "Dziala? ;)"; file.close(); } else std::cout << "Jednak nie ma tak dobrze ;(";
Jeśli nie zadziała, to sprawdziłbym ustawienia zapory, uprawnienia itd. :) |
|
jsc |
» 2010-12-24 15:33:30 Przy pisaniu programu zapomniałeś o pewnej istotnej cesze obsługi plików w Windowsie. Kiedy jeden program ma do niego dostęp to pozostałe muszą odświeżać swoją kopię z dysku. O to chodzi, że po prostu musi być synchronizacja (uwzględniająca opóźnienia sieci i HD) między wysyłaniem, a czytaniem (powinno być jeden czyta, a drugi wysyła lub nie). Raczej odradzałbym tego typu pomysły, bo można zajechać dysk. |
|
jsc |
» 2010-12-24 19:01:58 PS. Dane zapisane w zmiennej plikowej nie od razu wędrują na HD, ponieważ system operacyjny w trosce o jego kondycję buforuje małe operacje dyskowe w jedną dużą. Aby to zaszło po każdorazowym zapisie do zmiennej należy wykonać operację fflush (), która powinna zrobić z tym porządek. |
|
michalp |
» 2010-12-24 20:06:17 @up: Że tak się zapytam co w tym kontekście oznacza skrót HD? |
|
DejaVu |
» 2010-12-24 20:15:10 na winsocku latwiej zrobic komunikacje miedzy komputerami anizeli na plikach |
|
jsc |
» 2010-12-24 22:42:16 Hard Disk, czyli na polski dysk twardy. |
|
SeaMonster131 |
» 2010-12-25 10:36:16 a nie powinno być raczej HDD - Hard Disk Drive ... ? |
|
« 1 » |