|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="overview-net" xml:lang="it">
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<link type="guide" xref="index" group="net"/>
|
|
Packit |
1470ea |
<revision version="0.1" date="2013-08-06" status="review"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>David King</name>
|
|
Packit |
1470ea |
<email its:translate="no">davidk@gnome.org</email>
|
|
Packit |
1470ea |
<years>2013</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>Client and server HTTP communication, portable socket-based networking IO, and network device management.</desc>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>Low-level networking</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
Create powerful and flexible HTTP servers and clients
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
Use portable socket-based APIs in a UI without blocking
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
Detect and manage the network connection state
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Take advantage of the portable networking APIs for accessing network
|
|
Packit |
1470ea |
services. Asynchronous IO keeps your application UI responsive while IO is in
|
|
Packit |
1470ea |
progress. Detect changes in the system networking state, to make your
|
|
Packit |
1470ea |
application respond appropriately when there is no Internet access.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" mime="image/png" src="test_comm1.png" width="65%">
|
|
Packit |
1470ea |
IMAGE
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
-->
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="what">
|
|
Packit |
1470ea |
<title>What can you do?</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
To asynchronously access low-level networking APIs,
|
|
Packit |
1470ea |
use GIO networking.
|
|
Packit |
1470ea |
Higher-level API is available for resolving proxies and
|
|
Packit |
1470ea |
DNS records as well as using secure sockets
|
|
Packit |
1470ea |
(TLS).
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Simple monitoring of network state is available in GIO, but
|
|
Packit |
1470ea |
NetworkManager provides
|
|
Packit |
1470ea |
comprehensive support for networking devices and
|
|
Packit |
1470ea |
network topologies.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Libsoup provides a flexible
|
|
Packit |
1470ea |
interface for HTTP servers and clients. Both
|
|
Packit |
1470ea |
synchronous and asynchronous APIs are provided.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="samples">
|
|
Packit |
1470ea |
<title>Code samples</title>
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>A sample we should write </item>
|
|
Packit |
1470ea |
<item><link xref="samples">Moreā¦</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
-->
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="realworld">
|
|
Packit |
1470ea |
<title>Real-world examples</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
You can see lots of real-world applications of GNOME networking
|
|
Packit |
1470ea |
technologies in open source projects, like the examples given below.
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
Web is the GNOME browser, which uses libsoup
|
|
Packit |
1470ea |
to access HTTP services.
|
|
Packit |
1470ea |
( <link href="https://wiki.gnome.org/Apps/Web">Website</link> | <link href="https://git.gnome.org/browse/epiphany/plain/data/screenshot.png">Screenshot</link> | <link href="https://git.gnome.org/browse/epiphany/">Source code</link> )
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
<item>
|
|
Packit |
1470ea |
GNOME Shell is the user-visible GNOME desktop,
|
|
Packit |
1470ea |
which uses NetworkManager for the network status menu, including managing
|
|
Packit |
1470ea |
wired, wireless, 3G modem and VPN networking systems.
|
|
Packit |
1470ea |
( <link href="https://wiki.gnome.org/Projects/GnomeShell">Website</link> | <link href="http://www.gnome.org/gnome-3/">Screenshot</link> | <link href="https://git.gnome.org/browse/gnome-shell/">Source Code</link> )
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
</page>
|