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 Network programming with Sockets in the GNU Smalltalk Library Reference.
The library is also used by many other packages, including Swazoo
and the MySQL driver.
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.