開源專案TinyTcp-輕巧的網路程式框架

介紹

This is a C++ socket wrapper designed to fast development of network related functionality.

動機

有鑑於以前寫太多 socket 程式,這次寫一套,但之後又沒拿出來用,又在寫一套,這樣太浪費時間,
這次決定寫一個輕巧的網路框架,讓以後需要時在拿出來使用,即使是需要重構。
重點是以後有需要網路功能的程式直接套用,這樣開發上能夠更快速些,
對於軟體開發前期,能夠快速驗證,是件很種要的事情。

當然我這輕巧的網路框架還需要能夠跨平台,因為平時的我都會在 Windows、Ubuntu、MacOS 上切換來換去,
跨平台是必不可免的!

目的

  • thread-base (不用event-base, 那樣寫太累, 要寫更久),直接用 C++11 的 thread 來搞定!
  • 跨平台 (當然是先在一個平台下搞定後, 再用跨到其他平台)
  • onRecv,onDisconnect,onConnect 這些 api 訂出來, 這是重要的窗口!
  • 既然是 tiny,檔案數就不能太多,最多兩個 class

Github 連結:https://github.com/shengyu7697/TinyTcp


其他類似專案

sokkit - A lightweight C++ socket wrapper.
學習怎麼寫 TEST_CASE

cppsocket - C++ socket wrapper
平台定義

1
2
3
4
5
6
#ifdef _WIN32
typedef SOCKET socket_t;
#else
typedef int socket_t;
#define INVALID_SOCKET -1
#endif

libting - ting was started as a simple cross platform C++ wrapper for threading (thread, mutex, semaphore, message queue and message). But now ting is not only a threading library, now it is a utility framework containing also Network Sockets API library and some other useful stuff, e.g. reference counted pointers etc. See WiKi page for what is there.
https://code.google.com/archive/p/ting/

clsocket - SimpleSockets is a lightweight set of classes that allow developers to implement IP based network programs.
libsocket - The ultimate socket library for C and C++, supporting TCP, UDP and Unix sockets (DGRAM and STREAM) on Linux, FreeBSD, Solaris. Only ZMQ is better.
Practical C++ Sockets

其它相關文章推薦
開源專案ScreenCapture-螢幕截圖自動存檔小工具
開源專案CursorJail-滑鼠鎖定工具
開源專案-2048
開源專案-tetris俄羅斯方塊
開源專案-數獨sudoku
開源專案-金庸群俠傳
開源專案-仙劍奇俠傳