• Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created almost 13 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

   Welcome to kNet!

kNet is a low-level networking protocol library designed for bit-efficient realtime streaming of custom application-specified messages on top of TCP or UDP. kNet is written in C++.


   Supported Platforms.

kNet has been tested to build on the following platforms:
 - Windows 7 & Visual Studio 2010 Professional
 - Windows 7 & Visual Studio 2008 Standard
 - Ubuntu 9.04 & GCC 4.4.1
 - Windows 7 & MinGW GCC 4.6.1 versioned 20111118 (beware though, MinGW is not actively supported)

 
   Documentation.
 
kNet uses doxygen to generate its documentation. See the web page http://clb.demon.fi/knet/ for an online hosted copy.
 
 
   Building kNet.

kNet uses cmake (2.6 or newer) as its build system. On Linux it can use pthreads or boost v1.38.0 or newer for threading support. On Windows a CMake flag USE_BOOST can be used to specify whether to depend on boost or not. By default USE_BOOST is on.

kNet can optionally use Qt to provide a debugging and statistics window for profiling and simulation of different network conditions.

Steps:
 1. Install cmake. 
 2a. Optional: Install and build Boost. Edit the root CMakeLists.txt to specify the source directory to boost path.
 2b. If you do not want to use Boost, edit the root CMakeLists.txt and comment out the USE_BOOST directive. If Boost is not used, kNet will utilize native threading APIs on each platform (WIN32 CreateThread or POSIX threads). There are no functional differences with using either.
 3. Optional: If you do not want to use TinyXML, edit the root CMakeLists.txt and make sure the USE_TINYXML directive is commented out. This will disable the functionality of SerializedMessageList/MessageListParser though. 
 4. Optional: kNet can use Qt to provider debug statistics and profiling windows. Install and build Qt (4.6.2 or newer recommended) and uncomment #set(USE_QT TRUE) in the root CMakeLists.txt.
 5a. Windows VS2008: Execute in project root folder the command 'cmake -G "Visual Studio 9"' (case sensitive!), or click on the cmake_vs2008.bat.
 5b. Windows VS2010: Execute in project root folder the command 'cmake -G "Visual Studio 10"' (case sensitive!), or click on the cmake_vs2010.bat.
 5c. Linux and Mac: Run 'cmake .' in kNet root folder.
 6. If CMake fails to find your Qt installation, or if you want to explicitly specify the source location, set the QMAKESPEC and QTDIR environment variables or alter the cmake_vs2008.bat/cmake_vs2010.bat files.
 7a. Windows: Open and build the kNet.sln.
 7b. Linux and Mac: Run 'make'.

The project output files are placed in the directory kNet/lib.


   Contributors.

The following people have contributed to the project:

   Toni Alatalo
   Jukka Jylänki
   Erno Kuusela
   Ali Kämäräinen
   Jonne Nauha
   Ville Saarinen
   Cvetan Stefanovski
   Kari Vatjus-Anttila
   Lasse Öörni

   
   Links.

The kNet repository is hosted at github: https://github.com/juj/kNet. Please report bugs using the github issue tracker.
There exists a Wireshark dissector plugin for kNet: http://chiru.cie.fi/chiru-sharedfolder/knet-tundra-v.0.0.8.tar.gz .
A SCTP -enabled branch of kNet is being developed at https://bitbucket.org/karivatj/knet-sctp/ .

More Repositories

1

fbcp-ili9341

A blazing fast display driver for SPI-based LCD displays for Raspberry Pi A, B, 2, 3, 4 and Zero
C++
1,566
star
2

RectangleBinPack

Source code for performing 2d rectangular bin packing.
C++
862
star
3

MathGeoLib

A C++ library for linear algebra and geometry manipulation for computer graphics.
C++
684
star
4

wasm_webgpu

System headers for interfacing WebGPU from C programs compiled via Emscripten to WebAssembly
C++
295
star
5

vs-tool

Visual Studio 2010 plugin to integrate MinGW, Clang and Emscripten to the VS IDE.
C#
86
star
6

gowin_flipflop_drainer

A test case for stress testing Tang Nano 4K and 9K and Primer 20K (Gowin FPGAs)
Verilog
26
star
7

ST7735R

A fast low level Arduino Uno compatible graphics library for the 160x128 pixel 16-bit color TFT LCD display that uses the ST7735R chip.
C
18
star
8

gowin_fpga_code_generators

Interactive code generators for Gowin FPGAs
HTML
14
star
9

HDMI_testikuva

Sipeed Tang Nano 4K FPGA implementation of the static tuning picture I watched on TV as a kid.
Verilog
13
star
10

sc2-uqm

The Ur-Quan Masters
C
12
star
11

emrun

Self-sufficient tools for command line automation of browser and Firefox OS tasks. Often used with Emscripten.
Python
10
star
12

webgl-debugger

WebGL API call trace recording and debugging tool
Python
10
star
13

audio_test_suite

Test files for audio playback with different types of audio effects
HTML
7
star
14

GitSourceMonitor

A command-line tool written in C# that automatically generates checkpoints for the SourceMonitor software.
C#
6
star
15

KEEN70HZ

Tech demo mod of Commander Keen 4 v1.4 Shareware running smooth at 70fps
C
6
star
16

tiny_chess

A tiny GLES2 based Chess program
C++
6
star
17

emgc

Toy garbage collector for Emscripten/WebAssembly
C
6
star
18

crt_terminator

Repository for CRT Terminator hardware related development. https://oummg.com/
C++
5
star
19

MacAppFix

Automates the invokation of install_name_tool to fix broken .dylib lookups in OSX app bundles.
C++
5
star
20

emscripten-freetype

C
4
star
21

last_frontier

Tech demo about using WebTransport datagrams to implement a low latency action game in a web browser
HTML
4
star
22

AngelscriptGenerator

C
3
star
23

emmaster

Emscripten CI build master
Python
3
star
24

crunch-emscripten

A mirror of https://code.google.com/p/crunch/ which builds on Windows, Linux and OSX hosts for Emscripten.
C++
3
star
25

VIDMODE

A small real mode DOS program to test different VGA graphics adapter video mode timings.
C++
2
star
26

64kalloc

A 64KB aligned memory allocator for DOS Sound Blaster DMA programming
C
2
star
27

emslave

Unit test slave configuration for Emscripten compiler buildbot slaves.
Python
2
star
28

gowin_array_handling_bug

A test case of a possible(?) array handling bug in Gowin synthesizer
Verilog
2
star
29

TheExplorer2D

Project checkout of Unity 2D Game Kit - https://assetstore.unity.com/packages/essentials/tutorial-projects/2d-game-kit-107098
C#
2
star
30

js-main-thread-atomics-wait

Polyfill for enabling Atomics.wait() on the main browser thread
JavaScript
2
star
31

CodeStructure

A C# library project that reads in doxygen-generated code structure XML description files.
C#
1
star
32

webgl_render_test

Small example of WebGL rendering with Emscripten & WebAssembly
C
1
star
33

tgifelse

Programming puzzles
HTML
1
star
34

AOC2022

Advent of Code 2022 on Borland Turbo C++ 3.0
C++
1
star
35

EmbindGenerator

A C# program that produces embind bindings code automatically from .cpp files.
C#
1
star
36

wasm_feature_test

Code snippets for feature testing availability of different WebAssembly-related subfeatures
HTML
1
star