Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vavarm/projet_far
https://github.com/vavarm/projet_far
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/vavarm/projet_far
- Owner: vavarm
- License: gpl-3.0
- Created: 2023-04-14T10:09:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-02T04:11:52.000Z (over 1 year ago)
- Last Synced: 2024-11-19T18:02:09.378Z (2 months ago)
- Language: C
- Size: 831 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# projet_far
IT Engineering project of 3rd years students at Polytech Montpellier. Messaging and file transfer client/server application written in C.
## Getting Started
### Prerequisites
- gcc
- [ optionnals (for the python lancher ``run.py``) ] :
- Gnome Terminal
- python3
- python3-tk (on debian systems: ``sudo apt install python3-tk``)
- install the requirements with ``pip3 install -r requirements.txt``
- [ recommended ] :
- GNU/Linux system### Compiling
Use the script ``compile.sh`` to compile the project. It will create a ``.out`` folder and put the compiled files in it.
### Running
Start the server with ``.out/server.o `` and the client with ``.out/client.o ``.
- the server's port1 is the same as the client's port1
- the server's port2 is the same as the client's port2
- port1 is used for the messaging, port2 is used for the file transfer, so don't use the same port for both
- the address of the server is the IP address of the machine hosted the server or ``127.0.0.1`` if the server is on the same machine as the client#### Use the python launcher
You can also use the python launcher ``run.py`` to start servers and clients. It will open a new terminal for each one.
## Project structure
- .out: The compiled files of the final project
- examples: Some dev examples
- src/sprint.: The source files of the different states of the project. The final project is in ``src/sprint.4``
- files_Client: The folder that contains the files the client can send to the server
- files_Server: The folder that contains the files the server can send to the clients
- run.py: The python launcher
- channels.txt: The file that contains the channels of the server
- manual.txt: The file that contains the list of commands usable by the client