Czy da się w bibliotece sfml utworzyć serwer na własnym komputerze? Da ktoś jakiś link czy coś bo nie posiadłem jeszcze dobrej sprawności w obsłudze google. Wiem jak napisać klienta ale nie wiem jak napisać serwer.
Wyjście jest takie: albo obierasz ziemniaki brodą albo używasz do tego odpowiedniego narzędzia.
Użyj jakiejś gotowej biblioteki do tego:
libftp
ftplib
libCurl
A jeśli chodzi o opcje obieranie ziemniaków brodą to mógłbym wczytać dowolny plik zip, rar, txt, exe, itp?
I przesłać sf::Packet?
A potem zapisać na komputerze docelowym.
Jak miałbym wczytać plik zip aby go przesłać?
I drugie pytanie czy sfml ma obsługę plików? Dodawanie/usuwanie plików/folderów?
mozesz wyslac/zapisac/odczytac/wczytac etc wszystko co chcesz. Wszystko jest bajtami. Jedynie co potrzebujesz to znac rozszerzenie.
Zrobiłem funkcje wczytujące i zapisujące. Gdy wczytuje i zapisuje plik tekstowy wszystko działa dobrze ale gdy próbuje zapisać plik rar lub chociażby bmp to archiwum jest uszkodzone a plik bmp ma tylko 39bajtów (oryginał miał 59KB). Funkcja nie zapisuje dobrze plików innych niż txt, dlaczego?
int main()
{
CFile File;
File.LoadFile("K:/CodeBlocks/Projekty/BlenderFarm/cb.bmp");
File.SaveFile("K:/CodeBlocks/Projekty/BlenderFarm/cb1.bmp");
return 1;
}
#include <fstream>
class CFile
{
public:
std::string LoadFile(std::string path);
bool SaveFile(std::string path);
private:
std::string sign;
};
std::string CFile::LoadFile(std::string path)
{
std::fstream file;
file.open( path, std::ios::in | std::ios::binary );
if( file.good() )
{
file >> sign;
file.close();
return sign;
}
return 0;
}
bool CFile::SaveFile(std::string path)
{
std::fstream file( path, std::ios::out | std::ios::binary );
if( file.good() )
{
file << sign;
file.flush();
file.close();
return 1;
}
return 0;
}