Free Sockets, Winsock, TCP/IP, Internet Libraries
BSD sockets, Winsock, SMTP, POP3, FTP, IMAP, HTTP, SSL, SSH etc
Free Sockets and Winsock Libraries
Listed here are libraries and source code for utilising BSD sockets, Winsock, POP3, SMTP, IMAP, Telnet, TCP/IP, UDP, HTTP, MAPI, MIME, NNTP, SSH, SSL, etc, in your programs. Today's applications can hardly ignore the Internet, even if it is only to send bug reports by email, register a new user or update to a later version of itself. The libraries and/or source code here will hopefully simplify your coding effort by giving you pre-written and (again, hopefully) pre-tested code that you can immediately plug into your application. Included on this page are the source code of some applications as well — these can serve as a model for your own code.
Note if you are looking solely for FTP, SFTP or Trivial FTP support, please see the Free FTP, SFTP and TFTP Source Code and Libraries page as well.
If you also want to get a good reference for programming the Internet, check out the frequently recommended books (not free) on our Sockets and Winsock (Internet) Programming Books page.
Related Pages
- How to Set Up / Create Your Own Website: The Beginner's A-Z Guide
- Free Encryption Libraries and Source Code
- Free Compression and Archiving Libraries and Source Code
- Free Database Libraries, Source Code, SQL Servers, ODBC Drivers
- Free Spell Checker Libraries and Source Code
- Free Audio, Music, Voice and Sound Libraries and Source Code
- Free Database Libraries, SQL Servers, ODBC Drivers
- Free C / C++ Libraries, Source Code and Frameworks
- Free Debugging Source Code and Libraries
- Free Programming Language Grammars for Compiler Construction
- Free Java Source Code, Class Libraries, Applets, Beans
- Free Numerical, Mathematical, Statistics Libraries and Source Code
Disclaimer
The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.
Free Internet, Email, HTTP, Sockets / Winsock Programming Source Code
- Datareel Database C++ Library
This is a collection of C/C++ libraries that purportedly "simplifies complex time-consuming database, socket, multithreaded programming tasks". It supports the Windows and Unix platforms.
- Qpopper POP3 Server
Qpopper, from Qualcomm, is a POP3 server for Unix, Linux and Mac OS X that comes with source code. It supports encryption via TLS/SSL.
- Cucipop POP3 Server
This is a POP3 server that comes with source code. I do not have any more information about it.
- TurboPower Internet Professional (iPRO)
TurboPower Internet Professional is a set of VCL components (which means that you need to use Borland Delphi or Borland C++Builder to use it) that allows your program to access the Internet in numerous ways. In terms of email, it supports POP3, SMTP, and NNTP, attachments (encoding and decoding), MIME, etc. It also handles Instant Messaging (IM), multiple HTTP requests at the same time, rendering of HTML with support for PNG, JPEG, BMP, WMF, ICO (etc), non-visual HTML scanners (for writing web spiders and robots), logging, data conversion, address lookups, Remote Access Server (RAS) support, VT100 terminal emulation, Internet Control Message Protocol (ICMP) components (for ping and trace), FTP (including an FTP directory tree component), SNTP (for time clients/servers), troubleshooting protocols components (Echo, Discard, CharGen), client/server components for finger and whois, etc.
- TurboPower Async Professional (FTP, VOIP, etc)
If you need to add speech to your programs, or enable it to process speech input, TurboPower's Async Professional provides you an easy access to Microsoft's Speech API (SAPI) allowing you to integrate voice/speech recognition and speech synthesis in your programs. It also handles the sending and receiving (as well as viewing and printing) of faxes (and converts BMP, DCX, PCX and TIF files automatically), alphanumeric and text (GSM/SMS) paging, high speed file transfers (including the major file transfer protocols like Zmodem and FTP), IP telephony (audio and video, Voice Over IP or VOIP), Internet communications (Winsock access), supports ISDN modems, RS-232 and RS-485 standards, and includes an XML-based modem database. And so on. Like most of the TurboPower tools, this open source toolkit may be used with Borland Delphi and Borland C++ Builder and ActiveX environments like Microsoft Visual C++ and Visual Basic. If you use Borland Kylix on Linux, you might want to try the TurboPower Async Professional CLX version.
- TurboPower SysTools (with email MIME encoding/decoding)
TurboPower SysTools contain numerous utility functions and classes for Borland Delphi and Borland C++ Builder as well as programming environments that support COM objects (like Microsoft Visual Basic, Microsoft Visual C++. Among the routines included in this library are string manipulation routines, date and time math routines, high-speed sorting, high-precision maths, runtime math expression analyzer, Microsoft Excel-like finance and statistical routines, email attachment MIME encoding and decoding, reusable containers (stacks, queues, trees, deques, hash tables), CRC data integrity checking, 1 dimensional and 2 dimensional (1-D and 2-D) bar codes, money routines, logging classes, patterns, random number distributions, text data manipulation and more. SysTools is open source, released by TurboPower under the Mozilla Public License. It works on Windows systems. There is also a version of TurboPower SysTools for Kylix.
- Putty: Win32 SSH / SFTP Client with Source Code
Putty is not a library, but a set of programs that implement Secure Shell access, Secure FTP (SFTP), Telnet, etc. Since it is open source, employing things like strong authentication and secure sessions, it may be a useful source of information for your own internet software.
- OpenSSL
If you are writing an application (browser, email, server, etc) that requires the use of either Secure Sockets Layer (SSL versions 2 or 3), or Transport Layer Security (TLS version 1), you can obtain this free open source "commercial-grade" OpenSSL library. The library allows you to add cryptographic functionality to your programs, apparently both server programs as well as SSL supporting clients. You can use it in both commercial and non-commercial programs.
- OpenSSH
This is not a library but an open source suite of programs that support Secure Shell access (SSH), namely ssh (which replaces telnet and rlogin), scp (which replaces rcp and ftp), sftp (Secure FTP, which also replaces ftp), sftp-server, sshd (server-side), etc. Since the program is open source, providing strong authentication and secure sessions, it may presumably provide the base for your implementation of SSH. It is supports a wide number of operating systems: OpenBSD, NetBSD, FreeBSD, AIX, HP-UX, IRIX, Linux, NeXT, SCO, SNI/Reliant Unix, Solaris, Digital Unix/Tru64/OSF, and Mac OS X. In SSH1 mode, the encryption algorithms supported include 3DES and Blowfish. In SSH2, 3DES, Blowfish, CAST128, Arcfour, and AES are supported.
- Network Security Services
Used in Netscape and Mozilla products, NSS (Network Security Services a.k.a Netscape Security Services) allows you to develop security-enabled server applications that support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #8, PKCS #9, PKCS #10, PKCS #11, PKCS #12, S/MIME, X 509 v3 certificates, RSA, DSA, Triple DES, DES, RC2, RC4, SHA-1, MD2, MD5, etc. The software is released under the Mozilla Public License and the GNU General Public License.
- Network Library (Netwib)
This library provides support for UDP/TCP clients and servers, sniff, spoof, packet creation, packet decoding, packet printing, address conversion, etc. Platforms supported include Linux, FreeBSD and Solaris. The library is apparently released under the GNU LGPL. It is no longer actively maintained.
- CYRUS SASL Library
To quote, "the Cyrus SASL library is a generic library for SASL authentication, as used in SMTP and IMAP protocols. It's used for authentication by the Cyrus IMAP server as well as the Sendmail 8.10 release." It also includes a Java SASL library. Note that the link above is to an FTP directory. Look for a file like "cyrus-sasl-1.5.20.tar.gz" (the numbers may change when newer versions are released) there.
- GNU Common C++
GNU Common C++ is a C++ framework for developing portable threaded applications. It has abstractions for threads, sockets, XML parsing, serialization, config files, and so on, hiding the differences between platforms in its classes so that you can write code that is (hopefully) portable. It is released under the GNU GPL license.
- LibTCP++ TCP/IP Client/Server Class Library
A C++ TCP client/server class library that is supposed to simplify and speed development of TCP/IP client/server applications. The Linux platform is supported. The C++ source code is available.
- Inettransferlib (HTTP and FTP Library)
InetTransferLib is a free library for Access 97 for obtaining documents via HTTP and FTP.
- Apache Web Server
Source code for the most widely used Apache web server is freely available. It can be compiled and used on Unix systems as well as Windows (although at the time of this writing, the Windows code is not as stable as the Unix one).
Related Pages
- How to Register Your Own Domain Name - get one for your software
- Important Precautions to Take When Buying a Domain Name
- Free GUI Libraries for Portable Programming
- Free Graphics Libraries, 2D, 3D Engines, Image Drawing Source Code
- Free Game Programming Libraries and Source Code
- Free Online SQL Tutorials (Database Programming)
- Which Web Host Do You Recommend? (FAQ)
- Free Text Search and Replace Utilities
Can't Find What You're Looking For?
Search the site using Google.
Newest Pages
- How to Add a Contact Form (Web Form) to Your Website Using Dreamweaver CS5.5
- How to Efficiently Manage a Multi-Page Website with Dreamweaver CS5.5
- How to Reserve a Domain Name. Do You Need a Web Host if You Want to Reserve a Domain for Future Use?
- How to Customize the Navigation Menu on Your Website with Dreamweaver CS5.5
- What's the Difference Between a Content Management System (CMS), a Blog, a Web Editor and an Online Site Builder?
- Free Image/Photo Slide Show JavaScript
- Free GUI Builders, Application Builders and Rapid Application Development (RAD) Software
- HTML Tutorial - Learn to Design a Website using HTML
- How to Centre a Background Image or Photo on Your Web Page Using KompoZer
- How to Create Rounded Corners for Your Box Borders in CSS
- How to Set Up a Standard User Account (or Limited Account) on Windows Vista and Windows 7 for Daily Use
Popular Pages
- How to Create/Make Your Own Website: The Beginner's A-Z Guide
- How to Register Your Own Domain Name - how to get your own domain name
- Dreamweaver CS5.5 Tutorial: How to Design a Website with Dreamweaver CS 5.5
- How to Create a Bootable Windows XP Setup CD/DVD on a Preinstalled Windows System
- Free Partitioning Software - Copy, Create, Move, Resize, Convert, Undelete Partitions
- Free Data Recovery, File and Partition Recovery, Undelete and Unformat Software
- How to Create an Emergency Windows Rescue CD
- Free DVD Authoring and Creation Software
- Free CD and DVD Burners and Copying Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
How to Link to This Page
It will appear on your page as:
Free Sockets, Winsock, TCP/IP, Internet Libraries and Source Code
