Giter Site home page Giter Site logo

mclark4386 / cpp-netlib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cpp-netlib/cpp-netlib

1.0 2.0 1.0 5.49 MB

The C++ Network Library Project -- header-only, cross-platform, standards compliant networking library.

Home Page: http://cpp-netlib.github.com/

License: Boost Software License 1.0

C 6.19% C++ 85.40% Shell 0.08% JavaScript 6.28% Python 2.05%

cpp-netlib's Introduction

C++ Network Library

Introduction

cpp-netlib is a collection of network related routines/implementations geared towards providing a robust cross-platform networking library. cpp-netlib offers the following implementations:

  • Common Message Type -- A generic message type which can be used to encapsulate and store message related information, used by all network implementations as the primary means of data exchange.
  • Network protocol message parsers -- A collection of parsers which generate message objects from strings.
  • Adapters and Wrappers -- A collection of Adapters and wrappers aimed towards making the message type STL friendly.
  • Network protocol client and server implementations -- A collection of network protocol implementations that include embeddable client and server types.

This library is released under the Boost Software License (please see http://boost.org/LICENSE_1_0.txt or the accompanying LICENSE_1_0.txt file for the full text.

Downloading cpp-netlib

You can find official release packages of the library at:

http://github.com/cpp-netlib/cpp-netlib/downloads

Building and Installing

Building with CMake

To build the libraries and run the tests with CMake, you will need to have CMake version 2.8 or higher installed appropriately in your system.

$ cmake --version
cmake version 2.8.1

Inside the cpp-netlib directory, you can issue the following statements to configure and generate the Makefiles, and build the tests:

$ cd ~/cpp-netlib      # we're assuming it's where cpp-netlib is
$ cmake -DCMAKE_BUILD_TYPE=Debug     \
>       -DCMAKE_C_COMPILER=clang     \
>       -DCMAKE_CXX_COMPILER=clang++ \
>    .

Once CMake is done with generating the Makefiles and configuring the project, you can now build the tests and run them:

$ cd ~/cpp-netlib
$ make
$ make test

If for some reason some of the tests fail, you can send the files in Testing/Temporary/ as attachments to the cpp-netlib developers mailing list.

Building with Boost.Build

If you don't already have Boost.Build set up on your system, follow the steps indicated in the Boost Getting Started Guide [1] -- you will particularly want to copy the bjam executable to a directory that is already in your PATH so that you don't have to go hunting for it all the time. A good place to put it is in /usr/local/bin.

[1]http://www.boost.org/doc/libs/release/more/getting_started/

Building and running the tests can be as simple as doing the following:

$ cd ~/cpp-netlib
$ bjam

Doing this will already build all the tests and run them as they are built. In case you encounter any problems and would like to report it to the developers, please do the following:

$ cd ~/cpp-netlib
$ bjam 2>&1 >build-test.log

And then attach the build-test.log file to the email you will send to the cpp-netlib developers mailing list.

Running Tests

If you want to run the tests that come with cpp-netlib, there are a few things you will need. These are:

  • A compiler (GCC 4.x, Clang 2.8, MSVC 2008)
  • A build tool (CMake [#]_ recommended, Boost.Build also an option)
  • OpenSSL headers (optional)

Note

This assumes that you have cpp-netlib at the top-level of
your home directory.

[#] http://www.cmake.org/

Hacking on cpp-netlib

cpp-netlib is being developed with the git distributed SCM system. cpp-netlib is hosted on GitHub following the GitHub recommended practice of forking the repository and submitting pull requests to the source repository. You can read more about the forking process and submitting pull requests if you're not familiar with either process yet.

Because cpp-netlib is released under the Boost Software License it is recommended that any file you make changes to bear your copyright notice alongside the original authors' copyright notices on the file. Typically the copyright notices are at the top of each file in the project.

At the time of writing, there are no coding conventions being followed but if you write in the general style that is already existing in the project that would be greatly appreciated. Copious amounts of comments will be called out, but code that is not self-explanatory typically at least requires a rationale documentation in comments explaining "why" the code is written that way.

The main "upstream" repository is the one hosted by the original maintainer of the project (Dean Michael Berris) at http://github.com/mikhailberis/cpp-netlib. The "official" release repository is maintained at http://github.com/cpp-netlib/cpp-netlib -- which is a fork of the upstream repository. It is recommended that forks be made against the upstream repostory and pull requests be submitted against the upstream repository so that patches and other implementations can be curated by the original maintainer.

Contact and Support

In case you have any questions or would like to make feature requests, you can contact the development team through the developers mailing list or by filing issues at http://github.com/cpp-netlib/cpp-netlib/issues.

You can reach the maintainers of the project through:

Dean Michael Berris ([email protected])

Glyn Matthews ([email protected])

cpp-netlib's People

Contributors

amaisaeta avatar deanberris avatar demozon avatar divyekapoor avatar dsevilla avatar emreturkay avatar glynos avatar idleman avatar joelreymont avatar kvikas avatar leisinmr avatar mattytrentini avatar mclark4386 avatar mclow avatar mignick avatar mike-ect avatar omalashenko avatar tysonite avatar vexocide avatar vusak avatar wilx avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.