Skip to content

Luke-Nixon/Simple-Network-Protocol-Example

Repository files navigation

Simple Network Protocol Example

created for a proof of concept for a university course.

This project contains a simple custom data serializer and network protocol that communicates using UDP sockets. The protocol enables multiple clients to connect to a single server and can be identified by a name. The server then communicates the client information and name back to each client.

The protocol library, client and server program can then be tested using the testing program to measure the quality and speed of the protocol.

The project contains four separate sub-folders that contain the source code for different applications and libraries.

  • Network Protocol Library. This folder contains all of the source code for the other programs including the testing program, the example client and the example server program. This library is the core of the project and features a basic custom seriliser to convert simple user generated classes into data that can be sent over the network using UDP sockets.The library is designed to be expandable and facilitate new custom serializable objects that can be transmitted over the network using the instructions in the serialiser.

  • Example server. Folder contains the code for the server application. This server listens for incoming connections on the specified port once run. Once connected to a client, the server will relay information to each client.

  • Example client. Folder contains the code for the client application. The client connects to the server at the specified IP address on the given port. Once connected the client will be given information from the server using the protocol.

  • testing program. The testing program performs various tests on the protocol by creating an instance of a client and server. The program can then perform various tests such as jitter, ping, packet loss and serialization speed tests.

About

Simple Network Protocol Example. Created as a proof of concept for a university project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages