GithubHelp home page GithubHelp logo

ipk's Introduction

IPK: projekt č. 1

Klient-server pro jednoduchý přenos souborů. Verze 0.3 (5.3.2018).

Požadavky

Překladač

Program lze přeložit v překladači podporující standard C++11 (ISO/IEC 14882:2011). Doporučuje se překladač gcc verze 4.8.4 a novější. Pro jiné překladače a starší verze nebyl program testován.

Knihovny potřebné k překladu

  • iostream
  • fstream
  • unistd.h
  • cstring
  • sys/types.h
  • sys/socket.h
  • netinet/in.h
  • netdb.h

Překlad

Překlad lze provést programem make. Pro přeložení serveru i klienta použijte příkaz make all v adresáři s projektem. Pokud potřebujete provést překlad klienta nebo serveru jednotlivě, lze použít příkaz make ipk-client, případně make server-ipk. Pokud není možné použít program \textit{make}, lze programy přeložit následujícími příkazy:

g++ -std=c++11 ipk-client.cpp -o ipk-client
g++ -std=c++11 ipk-server.cpp -o ipk-server

Spuštění

ipk-client

./ipk-client -h host -p port [-r|-w] soubor
  -h <host>
     (IP adresa nebo fully-qualified DNS name) identifikace serveru jakožto koncového bodu komunikace klienta
  -p <port>
    cílové číslo portu v intervalu 0-65535
  -r <soubor>
    klient stáhne soubor ze serveru
  -w <soubor>
    klient nahraje soubor na server

ipk-server

./ipk-server -p <port>
  -p <port>
    číslo portu v intervalu <0;65535>, na kterém server naslouchá

Při použití čísla portu menší než 1024 mohou být pro spuštění vyžadována administrátorská oprávnění. Server se ukončuje signálem SIGINT (Ctrl+C).

Návratové kódy

  • 0 = program skončil v pořádku
  • 1 = chyba při zpracování argumentu
  • 2 = chyba síťového rozhraní (např: nelze vytvořit socket, přiřadit port, vytvořit spojení)
  • 3 = chyba práce se soubory
  • 4 = systémová chyba (selhal příkaz fork) - pouze u ipk-server
  • 5 = chyba komunikace (klient zaslal neplatný požadavek)

Známé chyby

Cílový i zdrojový adresář musí existovat. V případě, že neexistuje, končí program chybou, program adresáře nevytváří.

Autoři

  • Vladan Kudláč - autor projektu

ipk's People

Contributors

kudlav avatar

Watchers

 avatar  avatar

Forkers

dodotohe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.