10000 GitHub - petru-braha/RR-application: A client-server application developed on Linux, which provides digital communication for the transport industry
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

petru-braha/RR-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Romanian railways application

You can find the romanian version of this document here.

video_ro_comp.mp4

Connect

To establish connection with my server make sure to:

  • install openvpn3
  • start a session using this vpn key (openvpn3 session-start --config docs/vpnkey.ovpn)
  • send a mail at petrubraha@gmail.com for the credentials asked at the previous step
  • compile and run the client application with the following arguments: '10.100.0.30' and '2970'

Main files

Technologies

  • C - socket(), bind(), connect(), pthread_t
  • C++ - std::mt1337
  • libxml2 - official page

Features

The communication protocol

Please consult some definitions from here

  • [id_train, time_departure, time_arrival, status] routes(location_departure, location_arrival);
  • [id_train, time_departure, location_arrival] departures(location_departure);
  • [id_train, time_arrival, location_departure] arrivals(location_arrival);
  • bool report(id_train, minutes);
  • bool quit();

Speed

  • prethreaded execution
  • create thread for each client
  • i/o multiplexing with non-blocking calls

Correctness

  • client uses tcp to server when sending data
  • client uses udp to server when sending queries
  • server uses tcp to client when sending data

Security

  • specific procedures for possible errors
  • solutions if one party stops responding
  • test driven-development

Limitations

  • only 1024 users can be connected at once
  • not Windows portable

About

A client-server application developed on Linux, which provides digital communication for the transport industry

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0