RFC1123 - Requirements for Internet Hosts -- Application and Support. In particular it states that programs should try all IP addresses of multihomed hosts.
RFC2518 - (WebDAV) Web-based Distributed Authoring and Versioning defines the HTTP extensions necessary to enable distributed web authoring. WebDAV provides a network protocol for creating interoperable, collaborative applications, making the Web a collaborative, writable medium. The basic purpose of WebDAV is to provide file I/O through HTTP. This permits you to load, edit, delete, create subdirectories, and basically manage files located on the Web Server from the client desktop.
Curl is a tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a bus-load of other useful tricks.
libcurl is a free, highly portable and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more!
From: "Cyrus Patel" [cyp @ fb14.uni-mainz.de](Johannes Gutenberg Universitaet) Subject: Another descendant of TinyTcp Date: Sat, 14 Dec 2002 17:35:08 +0100
Hi, I've re-written TinyTCP from the ground up for x86/DOS (including i386 protected-mode support) Borland/TurboC, WatcomC and DJGPP. The rewrite was motivated by a need to...
a) ... be modular and provide proper abstraction between layers. A real _library_ in other words. For example, if an apponly needs UDP, then TCP shouldn't get linked. Or, if it onlywants raw IP (for example a simple PING program), thenneither UDP nor TCP will get linked.
b) ... be usable without dependancies on configuration files. DHCP/BOOTP support is available, and if used, thendoesn't require nameserver configuration.
c) ... be usable even when no NIC hardware is available. The library has integral loopback and dummy net drivers.
d) ... be a baseline for a portable BSD-compatible socket library.In other words, provide functionality that a XTI/TLI orBSD socket API would need, like bind, connect, sockopt anderror codes. (listen()/accept() support is in there too, but isyet untested).
e) ... be usable asynchronously - packet I/O can run entirely in the background. There is no longer a need to yield explicitely.
f) ... support fragmentation/defragmentation (full 64K IP packetsare supported, even for 16bit targets). Unfortunately, this left the stack no longer tiny, but it is still pretty small. The library's footprint when compiled with support for (almost) everything, ie Packet Driver support + Ether + IP + ARP/RARP + ICMP + UDP + TCP + DHCP/BOOTP + DNS (but not including IGMP/multicast or debug support) is a hair under 64K. (see also 'ps:' below.)
I'd be very interested in hearing from anyone who uses it and/or develops it further.
Regards, Cyrus [cyp @ fb14.uni-mainz.de]
ps: the library does have some crud in it in order to be compatible with that 'other' stack common in DOS developer circles that is so strangely similar to TinyTCP, and yet does not acknowledge TinyTCP's existance nor the fact that it is a progeny of it.
Note this is TCP only, there is no IP, this code is for bootstrapping a system only!
This code was written by Geoffrey H. Cooper long ago in 1986. If you port it to any processor please send it back here for every ones benefit, and I'll post it or provide a link to your port.
The files in this release contain a simple implementation of TCP & FTP, suitable for burning into ROM. It is, in effect, a big hack put together in two or three days written in C.
Please note (and honor) the copyright on each file:
Copyright (C) 1986, IMAGEN Corporation
This code may be duplicated in whole or in part provided that [1] there is no commercial gain involved in the duplication, and [2] that this copyright notice is preserved on all copies. Any other duplication requires written notice of the author (Geoffrey H. Cooper).
What follows is a quote from the email I received, I offer no support for this file, please contact Gwang-Hyunk, Ahn at the web URI shown below for support:
Hello, My name is Gwang-Hyuk, Ahn. I live in the South Korea. I work in the TechiZ(the company name). I have just finished TinyTCP porting to Dallas's DS89C420(8051 Compatible) using Keil Compiler. I know that there are some bug. Currently, I try to fix the known bug. My company wish to open this source in our homepage and your homepage. My company wish that this source open to everyone for the study. I send the archive of the source. You see that archive, then tell me the fixed point about your license. If you send me the e-mail about fixed point, I will fix the source archive. So sorry about my poor English. Have a nice day.
Sincerely Yours. Gwang-Hyuk, Ahn.
Gwang-Hyuk, Ahn. The section chief of TechiZ Homepage : http://www.techiz.com Address : 214 Ho, Business Incubator, Ajou Univ., Wonchun-Dong, Paldal-Gu, Suwon, Kyounggi-Do, South Korea Zip-code : 442-749
> I found this old tiny tcp program on your website. > Do you have an idea where I can get a further developed > source code which still runs on 16 bit microcontrollers?
uC/IP - TCP/IP for microcontrollers uC/IP is a smallish TCP/IP protocol stack developed in ANSI C for microcontrollers and embedded systems. http://sourceforge.net/projects/ucip/
'TCP/IP Lean' book and software. Exploration of the TCP/IP protocol family 'from scratch', with full source code for a wide variety of PC networking utilities, running under DOS or Win32. Includes a Web server with an I/O interface for remote control and monitoring, and a complete PICmicro� microcontroller implementation.
If you want to sell anything that contains this software, a license is required for each "incorporation" of the software in each commercial product...
CMP BOOKS
TCP/IP Lean, 2nd Edition by CMP Books-NOW 20% OFF! Implement an embedded TCP/IP stack that supports a Web server capable of providing dynamic graphics. In this new edition, the Web server is ported to the PIC16F877 and updated to work over an Ethernet connection.
Adam Dunkels's research concerns small TCP/IP implementations for minimal systems and proxy architectures. His latest work has been lwIP, a minimal implementation of the TCP/IP protocol stack that is suitable for use in small clients such as embedded systems.
Most HTTP servers for embedded devices place requirements on the design of embedded systems that adversely effect cost. The embeddable HTTP server Tim Jones presents here is small, but still powerful enough to get the job done. This is the one most suited to putting in a EPROM.
publicfile supplies files to the public through HTTP and FTP. It is part of the D. J. Bernstein collection. Security is the most important point with D.J.B. Has its roots in UNIX/Linux.
The Internet Software Consortium (ISC) is a not-for-profit corporation dedicated to developing and maintaining production quality Open Source reference implementations of core Internet protocols. ISC efforts are supported primarily by the donations of generous sponsors.
The ISC people are the people that bring you DHCP and BIND, ISC BIND (Berkeley Internet Name Domain) is an implementation of the Domain Name System (DNS) protocols and provides an openly redistributable reference implementation of the major components of the Domain Name resolving program.