1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
GNet README
-----------
GNet is a simple network library. It is written in C,
object-oriented, and built upon GLib. It is intended to be easy to
use and port. GNet comes with documentation and examples. It is
licensed under the GNU Library General Public Licence.
Features:
* TCP "client" and "server" sockets
* UDP and IP Multicast sockets
* High-level TCP connection and server objects
* Asynchronous socket IO
* Internet address abstraction
* Asynchronous DNS lookup
* IPv4 and IPv6 support
* Byte packing and unpacking
* URI parsing
* SHA and MD5 hashes
* Base64 encoding and decoding
* SOCKS support
* High-level HTTP connection object
GNet has been ported to Linux, *BSD, MacOSX, Solaris, HP, MacOS X, and
Windows. It may work on other operating systems also.
GNet requires GLib 2.x, available at www.gtk.org. Or, if
you have a system with packages (e.g., Red Hat or Debian), look for
the latest glib package (glib2-devel or libglib2.0-dev usually).
Comments and questions should be sent to gnet@gnetlibrary.org.
The GNet homepage is at <http://www.gnetlibrary.org>.
Install
=======
In a nutshell:
> ./configure
> make
> make install
If gethostbyname() and gethostbyaddr() are thread-safe, pass the
--enable-threadsafe-gethostbyname() to configure. (If it is and you
don't do this, it will still function correctly.)
Similarly, if getaddrinfo() and getnameinfo() are thread-safe, pass
the --enable-threadsafe-getaddrinfo() to configure
The flag --with-html-dir=DIR controls the directory the HTML
documentation goes into. By default it will go into
DATADIR/doc/libgnet-X.Y, which DATADIR is /usr/local/share on most
Unix machines. Use this flag if you want it to go somewhere else.
INSTALL is the standard autoconf INSTALL file.
Bugs
====
Bug reports should be submitted through <http://bugzilla.gnome.org>.
Our bug page is:
<http://bugzilla.gnome.org/buglist.cgi?product=gnet>
See BUGS for known bugs.
Mailing lists
=============
Go to <http://www.gnetlibrary.org/mailman/listinfo/> to join the
mailing lists and view the archives.
Name Purpose
gnet-announce Announcements about GNet
gnet-discuss Discussion of GNet for users and programmers
gnet-dev Discussion of GNet for the developers of GNet
Developer info
==============
API documentation lives on the GNet homepage (specifically, at
<http://www.gnetlibrary.org/docs>)
NOTE ON EXPERIMENTAL FEATURES. The URL, Server, and Conn modules are
experimental and part of the IOChannel module is also experimental.
The GNet development team believes these modules are useful and
usable, but are not yet completely confident in them. The API to
these modules may change and there may still be bugs in them. For
example, the URL module is incomplete and the new IOChannel functions
should be audited again. If you are feeling adventurous and want to
use these functions, define GNET_EXPERIMENTAL. Otherwise, your
compiler should warn or fail if they are used. We welcome bug fixes,
improvements, and comments on the experimental modules. Our hope is
that adventurous programmers will use these modules and help in their
further development.
The Nylon SOCKS server is required for SOCKS server socket support.
SOCKS server sockets are weird. Marius, a Nylon and GNet developer,
changed the semantics in Nylon to make SOCKS integration in GNet
easier/possible. GNet SOCKS clients should work with any SOCKS
server. The Nylon homepage is
<http://mesh.eecs.umich.edu/projects/nylon/>.
Hacking
=======
If you are interested in contributing to GNet, please see 'HACKING'.
This includes information on how to get GNet from the repository and
how to submit patches.
License
=======
Read COPYING for information on the license. GNet is under the GNU
Lesser General Public License.
Applications that use GNet
==========================
eDonkey2000 GTK frontend
eDonkey2000 (DFS) frontend
http://ed2k-gtk-gui.sourceforge.net
Gnome Chinese Checkers
board game
http://gchch.sourceforge.net/
Gnome Jabber
instant messaging and chat
http://gnome-jabber.sourceforge.net
Jungle Monkey
distributed file sharing program
http://www.junglemonkey.net
Mail Notify
mail notification applet
http://www.nongnu.org/mailnotify/
MSI
multi-simulation interface
http://msi.sourceforge.net>
PAN
Gnome newsreader
http://pan.rebelbase.com
PreViking
telephony middleware
http://www.bellworldwide.net/previking/
Sussen
network scanner
http://sussen.sourceforge.net/
Workrave
rest break reminder
http://www.workrave.org/
|