Skip to content
forked from simdsoft/yasio

A mini cross platform socket wrapper APIs, support win32 & linux & ios & android & wp8 & wp8.1-universal & win10-universal, support tcp/udp asio service.

Notifications You must be signed in to change notification settings

fcccode/mini-asio

Repository files navigation

mini-asio

A extremely lightweight & simple cross platform posix socket API wrapper, support win32 & linux & ios & android & wp8 & wp8.1-universal & win10-universal

support IPv6-only network.
support multi-connections at one thread.
support deadline timer.  

Usage:

  1. Only compile src\xxsocket.cpp src\deadline_timer.cpp src\async_socket_io.cpp with your project; For gcc, you must add --std=c++11 compile flag
  2. demo code:
#include "xxsocket.h"
using namespace purelib::inet;
void test_connect() 
{
   xxsocket clientsock;
   // The interface xpconnect_n will detect whether localhost is IPV6 only network automatically
   // and connect the ipv4 server by V4MAPPED address.
   if(0 == clientsock.xpconnect_n("www.baidu.com", 443, std::chrono::seconds(5)/* connect timeout 5 seconds */))
   {
       printf("connect succeed\n");
   }
}

#pitfall: For Microsoft Visual Studio, if your project has specific precompiled header, you should include it at head of xxsocket.cpp or specific the compile option: C/C++ --> Advance -->'Forced Include File' to it(such as pch.h).

About

A mini cross platform socket wrapper APIs, support win32 & linux & ios & android & wp8 & wp8.1-universal & win10-universal, support tcp/udp asio service.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.5%
  • C 5.2%
  • HTML 0.2%
  • Batchfile 0.1%
  • Makefile 0.0%
  • Shell 0.0%