![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
GNU Smalltalk includes an almost complete abstraction of the TCP, UDP and IP protocols. Although based on the standard BSD sockets, this library provides facilities such as buffering and preemptive I/O which a C programmer usually has to implement manually.
The distribution includes a few tests (mostly loopback tests that
demonstrate both client and server connection), which are class methods
in Socket
. This code should guide you in the process of creating
and using both server and client sockets; after creation, sockets behave
practically the same as standard Smalltalk streams, so you should not
have particular problems. For more information, refer to section `Network programming with TCP' in the GNU Smalltalk Library Reference.
In addition, package WebServer
implements a servlet-based web
serving framework engine, including support for file servers as well as
Wiki-style servers(18); each server is a
subclass of Servlet
, and different servers can live together
under different paths. See the class side examples protocol of
WebServer to get it up and running quick.
The server is based on the GPL'ed WikiWorks project. For up to date/more info go see http://wiki.cs.uiuc.edu/VisualWorks/WikiWorks>. Many thanks go to the various people who had worked on the version on which the server is based:
Joseph Bacanskas joeb@mutual.navigant.com Travis Griggs tgriggs@keyww.com Ralph Johnson johnson@cs.uiuc.edu Eliot Miranda eliot@objectshare.com Ken Treis ktreis@keyww.com John Brant brant@cs.uiuc.edu Joe Whitesell whitesell@physsoft.com |
Apart from porting to GNU Smalltalk, a number of changes were made to the code, including refactoring of classes, better aesthetics, authentication support, virtual hosting, and HTTP 1.1 compliance.
There is also code implementing the most popular Internet protocols:
FTP, HTTP, NNTP, SMTP, POP3 and IMAP.
These classes, loaded by the NetClients
package, are derived
from multiple public domain and free software packages available for
other Smalltalk dialects and ported to GNU Smalltalk. Future version of
GNU Smalltalk will include documentation for these as well.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |