https://github.com/fug0/clientserverapp
Implementation of the cross-platform multithreaded server over TCP and the client using ACE framework
https://github.com/fug0/clientserverapp
asn1 client-server cross-platform multithreading network-programming tlv-decoder tlv-encoder
Last synced: 2 months ago
JSON representation
Implementation of the cross-platform multithreaded server over TCP and the client using ACE framework
- Host: GitHub
- URL: https://github.com/fug0/clientserverapp
- Owner: fug0
- Created: 2021-08-23T11:13:02.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-23T16:39:14.000Z (over 3 years ago)
- Last Synced: 2025-01-16T11:26:55.603Z (4 months ago)
- Topics: asn1, client-server, cross-platform, multithreading, network-programming, tlv-decoder, tlv-encoder
- Language: C++
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ClientServerApp
This project is the implementation of cross-platform Client-Server communication, it is written using ACE (Adaptive Communication Enviroment) 7.0.0 framework.
The project consists of the multithreaded server with TCP and a thread-pool strategy and the client.
The main idea of communication is in transferring encoded data of arbitrary length from a client to the server, so it is simplistically implemented in the following way:
client encodes length of data with TLV(Tag-Length-Value) rules for length and sends it to the server, then server decodes the length value, allocates a certain memory size (of this length) for data and then recieves data of this size.To run the client and the server you have to do following:
- Obtain ACE 7.0.0 from https://download.dre.vanderbilt.edu/.
- Build/use shared lib version by specifying your paths to library in "CMakeLists.txt" of Server and Client.
- After successful building copy "ACEd.dll" from ../ACE_wrappers/lib to each executable file directory.Now you can run executable files of Server and Client!
Building:
1) cmake .
2) make