FYPNet

FYPNet

FYPNetLogo.png.1

About Me

Name: Ashley Scott

Course: Computer Science (Games)

Email: admin@projectge.com

Website: https://projectge.com/

About

FYPNet (Final Year Project Net) is a networking library developed in C++ using the Win32 and WinSock 2 APIs.

The library enables developers to create networked solutions ranging from game to software servers.
Sending the data from the server is easily done using a range of high-level methods and a high level JSON data structure which can be serialised into a string and deserialised back into an object.

Setting up a client-server logic is very straight forward and easy to accomplish in only a few lines of code.

Features

The library comes with a range of server-side features including:

  • Easy initialisation of the library in one line of code.
  • Setting up TCP listen sockets.
  • Accepting TCP connections.
  • Sending/Receiving data.
  • Serialising json objects ready for sending over the network.
  • Deserialising json strings into json objects received from the network.
  • Creating, editing and dispatching multiple buffers to a socket.
  • Easy methods to add data to a buffer. (A single AddValue call will accept all most used data types such as std::string, int and bool.)
    • Easy to extend and accept more types (if they can be serialised into a string).
  • Easy cleanup and disconnection of all clients connected to a server using FYPNet.
  • Safely checking for disconnected clients and cleaning up data.

FYPNet also comes with the ability to connect to TCP based servers, with use of the same sending/receiving methods like the server.

Demonstration

Prototypes are available and demonstrate the library working.

  • Chat client prototype.
  • MMO/Multiplayer game prototype.

Videos: