|
SwsSock
SwsSock is a cross platform networking library and application suite compatible with the
Single Unix Specification v3
and Winsock2
sockets providing a fully featured TCP/IP protocol stack and drivers for common Ethernet
and serial adapters.
Features
TCP, IPv4, UDP, Raw sockets, ICMP, Echo server,
IGMPv2, Multicast, Ethernet DIX and 802.3, ARP, PPP, CHAP, PAP,
SLIP, Multi-homed routing, DNS client, DHCP client, IP, PPP and Ethernet
packet dumpers, Threads, Timers.
- Small, fast, fully asynchronous design.
- < 90kB code for standalone DOS web server.
- Simple configuration from a single text file.
- Easy to customise for embedded systems.
- The SwsSock Win32 DLL provides a substantial subset of the standard
Winsock2
ws2_32.dll functionality and can be used as a direct replacement in many cases.
- Extensive application suite including:
DNS (RFC 1034/1035) client,
FTP (RFC 959) client & server,
HTTP 1.1 (RFC 2616) web server,
Ident (RFC 1413) server,
NTP (RFC 958/1059/1119/1305) client,
ICMP echo (ping) client,
POP3 (RFC 1939) client & server,
SMTP (RFC 5321/2821) client & server,
Echo (RFC 862) client/server,
Discard (RFC 863) client/server,
Telnet (RFC 854) server,
TFTP (RFC 1350) client,
UPnP client,
Whois (RFC 3912/954) client.
.
Requirements
The distribution consists of library source and header files, example application
source files and make/project files for the following target/compiler combinations:
Download:
Application note,
Client API,
Version 2.0.16 source
Example applications
The distribution includes a number of example applications written in C/C++ with
make and project files to build with the SwsSock library or for the native
(Windows/Linux) platform.
- Dns: DNS (RFC 1034/1035) client for hostname and IP address lookup.
- Echos: UDP/TCP echo (RFC 862) client/server.
- Ftpd: FTP (RFC 959) server.
- Ftp: FTP (RFC 959) client.
- Httpd: HTTP 1.1 (RFC 2616) web server with CGI, proxy and Video4Linux modules,
Used to serve this page.
- Identd: Ident (RFC 1413) server.
- Inetd: Multi-threaded FTP/HTTP/SMTP/POP3 server.
- Loganaly: Server log file analysis and reporting.
- Mcast: UDP multicast echo client/server.
- Mping: ICMP multicast ping client/server.
- Ntp: NTP (RFC 958/1059/1119/1305) network time client.
- Ping: ICMP echo client.
- Pktdump: Ethernet, IP and PPP packet dumper.
- Popd: POP3 (RFC 1939) email server.
- Realip: Discovers a router's external IP address.
- Recvmail: POP3 (RFC 1939) email client.
- Sendmail: SMTP (RFC 5321/2821) email client.
- Sink: UDP/TCP discard (RFC 863) client/server.
- Smtpd: SMTP (RFC 5321/2821) mail server.
- Syslogd: (RFC 3164) log server.
- Syslogr: syslogd file analyser.
- Telnetd: Telnet (RFC 854) server.
- Tftp: TFTP (RFC 1350) client.
- Upnp: Universal Plug and Play router display/set utility.
- Whois: Whois (RFC 3912/954) client.
Quick-start guide to running the examples
Prebuilt Linux x86_64 examples
Prebuilt Windows examples
Prebuilt DOS examples
(requires SwsVpkt for Windows or
a DOS packet driver)
Try out the dns, ping and whois applications on our tools page.
Limitations
SwsSock is freeware and now open source. It may be freely used by any individual for
personal or private use or for their business without any restriction or charge.
Companies, organisations or governments may not use it without a license.
In no case may SwsSock be used to deprive anyone of life, liberty or livelihood.
|