⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 watt-32 homepage.htm

📁 tcpip for dos
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0027)http://www.bgnett.no/~giva/ -->
<HTML><HEAD><TITLE>Watt-32 Homepage</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="Watt-32 homepage, tcp/ip programming for DOS" name=description>
<META 
content="tcp/ip, internet, programming, DOS,&#10;     embedded, BSD-socket, djgpp, Borland, Watcom, Pharlap, Metaware,&#10;     PKTDRVR, Packet-driver" 
name=keywords>
<META content="Gisle Vanem" name=author><LINK rev=made 
href="mailto:giva@bgnett.no"><!--  <BASE HREF="http://www.bgnett.no/~giva/"> -->
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY vLink=#800080 link=#0000ff>
<TABLE cellSpacing=0 cellPadding=2 border=0>
  <TBODY>
  <TR vAlign=center>
    <TD width=200><IMG height=64 alt="[Lynx Friendly Page]" 
      src="Watt-32 Homepage.files/optilynx.gif" width=64 border=0><!--<a HREF="http://lynx.isc.org/"></a>--> </TD>
    <TD width=500>
      <H3>Watt-32 tcp/ip Homepage</H3></TD></TR></TBODY></TABLE>
<P>
<HR>

<P></P>
<P>This page contains my port of Waterloo tcp/ip (WatTCP). Watt-32 is an 
enhanced version of <A href="mailto:erick@sail.uwaterloo.ca">Erick Engelke's</A> 
WatTCP. The latest <A href="http://www.wattcp.com/">version</A> is dated 
November 1999 with features integrated into Watt-32.</P>
<P>Watt-32 is a library for making networked TCP/IP programs in the language of 
C and C++. Both 16-bit real-mode and 32-bit protected-mode is supported. Watt-32 
requires a packet-driver (<I>PKTDRVR</I>) to access the data-link layer 
(ether-PPP, SLIP or Ethernet. Token-Ring is untested).</P>
<P>The name Watt-32 was chosen to signal the emphasis on 32-bit platforms 
(Allthough 16-bit compiler are also supported). What, besides embedded systems, 
is DOS good for these days if not running high-performance 32-bit programs. And 
the embedded market is booming; with the price of PC-104/EtherNet cards, Watt-32 
could be used in a lot of fancy boxes. How about an <I>IP-telephone</I>, <I>MP3 
home-player</I> or an <I>Internet Radio</I>.</P>
<P>These are some of the new functions in Watt-32:</P>
<UL><I>
  <LI>DHCP-client</I>: An RFC-1541/2131 compliant DHCP-client allocates an IP 
  for you, sets the netmask and gateways etc. <BR>User doesn't need to configure 
  <I>wattcp.cfg</I>. <I>
  <LI>RARP-client</I>: <A href="mailto:dank@alumni.caltech.edu">Dan Kegel</A> 
  contributed a RARP-client which translates your EtherNet address into a usable 
  IP-address. <I>
  <LI>TFTP-client</I>: A small udp client which could be used to transfer an OS 
  image or any file specified at startup. Great for embedded boxes and/or hosts 
  using DHCP or fixed IP address. <I>
  <LI>ICMP-redirect</I>: Watt-32 automatically switches gateway if an ICMP- 
  redirect is received. Optionally "ICMP-address mask request" will check your 
  configured net-mask. <I>
  <LI>PPP-support</I>: Watt-32 supports both types of PPP-drivers; i.e. types 
  that emulate EtherNet frames and those who don't. <BR><A 
  href="mailto:tonilop@redestb.es">Antonio Lopez Molero</A> has written the 
  excellent <A 
  href="http://personal.redestb.es/tonilop/dosppp/dosppp06.zip">DOS-PPP</A> 
  driver that works very well with Watt-32. <I>
  <LI>Protocol debugger</I>: A much improved protocol debugger/tracer analyses 
  IP (ICMP, UDP and TCP) and ARP/RARP packets to/from your host (or broadcast). 
  Various headers can be filtered. DNS-records and IP/TCP options are also 
  shown. <I>
  <LI>BIND Resolver</I>: A port of the Unix resolver/DNS library. This was added 
  mainly to implement the <I>getmxbyname()</I> function used to verify email 
  addresses (see <I>vrfy</I> below). <I>
  <LI>File based lookup</I>: User may specify fixed IP/names in a hosts file. 
  All the <I>getXbyY()</I> functions from &lt;netdb.h&gt; are supported. Also 
  supports loading and parsing of <I>/etc/services</I>, <I>/etc/protocols</I> 
  and <I>/etc/ethers</I>. <I>
  <LI>BSD-Sockets</I>: Watt-32 tries to mimic the BSD-socket API with support 
  for SOCK_DGRAM, SOCK_STREAM, SOCK_RAW, blocking and non- blocking I/O. Most 
  header files required to port Unix network programs to Watt-32/DOS are 
  provided. This API needs some work to better support raw-sockets, compliance 
  to the man-pages etc. But it is currently used to built the Web-browser <A 
  href="http://lynx.isc.org/current/">Lynx</A>. </LI></UL>
<P>Other planned (or not-yet-working) things include TCP features like <I>RTT 
cache</I>, <I>window scaling</I>, <I>SACK</I> (selective acknowledge), 
<I>time-stamping</I>, <I>PAWS</I> (protect against wrapped segments) and better 
retransmit strategy. </P>
<P>Promiscous mode <I>SOCK_PACKET</I> support for the BSD-socket API. A spin-off 
from my <A href="http://www.bgnett.no/~giva/pcap/index.html">tcpdump/libpcap</A> 
project might produce a protected-mode packet-driver API for 
djgpp/Pharlap/Watcom targets (driver for 3Com's 3C509 is working okay). </P>
<P>A RTP/RTCP module for Realtime (voice/video) applications is planned. 
PPP-over-Ethernet (<I>PPPoE</I>) encapsulation for xDSL users is underway 
(contributions are welcome). </P>
<H3>Supported Platforms</H3>
<P>Watt-32 supports these compilers and environments:</P>
<UL>
  <LI>GNU C/C++ 2.7 (or later) with djgpp 2.x DOS-extender. 
  <LI>Metaware HighC 3.x with PharLap DOS-extenders. 
  <LI>Borland C/C++ 4.x (or later), small/large model, real-mode. 
  <LI>Watcom C/C++ 11.x (or later), small/large/flat (DOS4GW) model. 
  <LI>Microsoft Quick C v6.0 (or later), small/large model. </LI></UL>The current 
distribution of Watt-32 is dated August 12, 2001: 
<P></P>
<P><PRE>   <B><A href="http://www.bgnett.no/~giva/watt32b-2.1-dev.1.zip">watt32b 2.1 dev.rel.1</A></B> 3.5M  -- Binaries
   <B><A href="http://www.bgnett.no/~giva/watt32s-2.1-dev.5.zip">watt32s 2.1 dev.rel.5</A></B> 1030k -- Source
   <B><A href="http://www.bgnett.no/~giva/watt32d-2.1-dev.1.zip">watt32d 2.1 dev.rel.1</A></B> 876k  -- Docs/RFCs
</PRE>
<P></P>
<H3>Watt-32 Network Tools</H3>
<P>The binary distribution contains some tools in addition to the one in the 
original Waterloo package: 
<TABLE cellSpacing=0 cellPadding=2 border=0>
  <TBODY>
  <TR vAlign=top>
    <TD width=100><I>archie:</I></TD>
    <TD width=600>Searches Archie (Prospero) servers for files and 
      directories. Regular expressions is supported. Original design by <A 
      href="mailto:bcn@isi.edu">Clifford Neuman</A> for the Prospero Project, 
      changes by <A href="mailto:ferguson@cs.rochester.edu">George Ferguson</A> 
      and me.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>dig:</I></TD>
    <TD width=600>Domain Information Groper; send domain name query packets to 
      name servers. Lists Resource Records, Zone information, SOA, MX-records 
      etc. Developed by: <A href="mailto:address_unknown">Paul Vixie</A> (DEC), 
      <A href="mailto:address_unknown">Steve Hotz</A> and <A 
      href="mailto:address_unknown">Paul Mockapetris</A> (USC-ISI).</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>DOS-VNC:</I></TD>
    <TD width=600>Virtual Network Console allows remote control of Unix or 
      Windows machines from DOS. This port is currently for djgpp only (using <A 
      href="http://www.talula.demon.co.uk/allegro/">Allegro</A> graphics 
      library). Original <A 
      href="http://www.uk.research.att.com/vnc/">version</A> by AT&amp;T. Ported 
      to DOS by <A href="mailto:mjy@pobox.com">Marinos J. Yannikos</A> and 
  me.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>fping:</I></TD>
    <TD width=600>Fast parallell Ping. A tool to quickly ping <I>N</I> number 
      of hosts to determine their reachability without flooding the network. 
      Original version by <A href="mailto:schemers@slapshot.stanford.edu">Roland 
      J. Schemers</A> - Stanford University.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>host:</I></TD>
    <TD width=600>Send domain name query packets to name servers. Similar to 
      <I>dig</I>, but with tons of options. Original version by <A 
      href="mailto:e07@nikhef.nl">Eric Wassenaar</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>ICMP-push:</I></TD>
    <TD width=600>Another expert tool for sending all kinds of ICMP-packets. 
      Not all of which are fiendly... Done by <A 
      href="mailto:tcpbgp@softhome.net">Slayer</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>MathOpd:</I></TD>
    <TD width=600>A fast, lightweight, non-forking HTTP server. HTTP/1.0 and 
      HTTP/1.1 compliant, virtual server and CGI support. The server also has a 
      <A href="mailto:mathopd-request@diva.nl">mailing list</A>. Done by <A 
      href="mailto:boland@diva.nl">Michiel Boland</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>netcat:</I></TD>
    <TD width=600>A tool for reading and writing arbitrary data using UDP/TCP. 
      Handy for redirecting <I>stdin</I>/<I>stdout</I> across the network. 
      <I>Note:</I>Little tested with Watt-32. Created by <A 
      href="mailto:hobbit@avian.org">hobbit@avian.org</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>NetIO:</I></TD>
    <TD width=600>A djgpp tool for measuring read/write speed across network. 
      Win32 and OS/2 executables included for comparision and testing other end 
      of connection. Some test results for the Watt-32 version is <A 
      href="http://www.bgnett.no/~giva/watt32.netio">here</A>. Created by <A 
      href="mailto:rommel@ars.de">Kai Uwe Rommel</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>NetKalahari:</I></TD>
    <TD width=600>A simple text-based networked game. It uses <A 
      href="ftp://ftp.qut.edu.au/pub/markh/PDCurses/beta/pdcurs24.zip">PDcurses</A> 
      and is currently only ported to djgpp. Created by <A 
      href="mailto:theo.wilhelm@uibk.ac.at">Theo Wilhelm</A> and others.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>nslookup:</I></TD>
    <TD width=600>An interactive DNS tool (similar to <I>host</I> and 
      <I>dig</I>. Originally by Andrew Cherenson (UC Berkeley) and Paul Vixie 
      (DEC).</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>popmail:</I></TD>
    <TD width=600>Simple mail retriever and sender (POP3/SMTP). Can use APOP 
      authentication to login to POP3 server (doesn't send you password in 
      plain-text). <A href="mailto:wan@eng.ufl.edu">Walter A. Nolan</A> wrote 
      it, I added APOP, ISO-8859 charset etc.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>rdate:</I></TD>
    <TD width=600>Obtain (and set) the time from a time server (UDP or TCP). 
      Originally by <A href="mailto:teffta@crypt.erie.ge.com">Andy Tefft</A> and 
      <A href="maito:rth@tamu.edu">Richard Henderson</A>. Ported to Watt-32 by 
      <A href="mailto:ken_yap@nlc.net.au">Ken Yap</A>. </TD></TR>
  <TR vAlign=top>
    <TD width=100><I>syslogd:</I></TD>
    <TD width=600>Syslog Daemon for logging events/messages from Unix clients. 
      Logs to disk or line-printer. Also synchronizes time with NTP broadcasts 
      sent on LAN. Ported to Watt-32 by <A href="mailto:ken_yap@nlc.net.au">Ken 
      Yap</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>suck:</I></TD>
    <TD width=600>Pulls newsgroups from a NNTP news-server. Accompanying tools 
      sorts and posts articles. Original Authors <A 
      href="mailto:unknown_address">Tim Smith</A>, <A 
      href="mailto:goldt@math.tu-berlin.de">Sven Goldt</A> and <A 
      href="mailto:boby@pixi.com">Robert A. Yetman</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>talk:</I></TD>
    <TD width=600>A chat client with colour (conio), aliases, old/new BSD-talk 
      protocol, answer mode and logging. Ported to WatTCP by <A 
      href="mailto:unknown_address">Michael Ringe</A></TD></TR>
  <TR vAlign=top>
    <TD width=100><I>ttcp:</I></TD>
    <TD width=600>A benchmarking tool for determining TCP and UDP performance 
      between 2 systems. Someone at US Army Ballistics Research Lab (BRL) did 
      this eons ago, but it's still a nice tool. Ported to Watt-32 by <A 
      href="mailto:ken_yap@nlc.net.au">Ken Yap</A>. </TD></TR>
  <TR vAlign=top>
    <TD width=100><I>vrfy:</I></TD>
    <TD width=600>Verifies validity of email addresses. Requires <I>MX</I> 
      host to support the <I>VRFY</I> or <I>EXPN</I> commands. Original version 
      by <A href="mailto:e07@nikhef.nl">Eric Wassenaar</A>.</TD></TR>
  <TR vAlign=top>
    <TD width=100><I>wget:</I></TD>
    <TD width=600>A very nice utility to retrieve files from servers using 
      HTTP or FTP. By <A href="mailto:hniksic@srce.hr">Hrvoje 
  Niksic</A>.</TD></TR></TBODY></TABLE>
<P>If your serious about WatTCP or Watt-32 developement, I strongly advice a 
purchase of the <I>WATTCP Programmers Manual</I> available <A 
href="http://www.wattcp.com/docs.shtml">here</A>. </P>
<P>Comments, Watt-32 bug-fixes and contributions are welcome.<BR>E-mail <A 
href="mailto:giva@bgnett.no">giva@bgnett.no</A> for comments or preferably join 
the Watt-32 <A href="mailto:watt-32@egroups.com">mailing list</A> at URL 
below.</P>
<P>Watt-32 <I>change.log</I> file is <A 
href="http://www.bgnett.no/~giva/change.log">here</A>. </P>
<P>You are visitor number <IMG height=19 src="Watt-32 Homepage.files/Count.gif" 
width=60> since Feb 9 1999. &nbsp;&nbsp;&nbsp; <IMG height=36 
src="Watt-32 Homepage.files/join.gif" width=100 border=1> <A 
href="http://groups.yahoo.com/group/watt-32/join">Subscribe</A> to the Watt-32 
mailing list. </P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -