Blame platform-overview/it/overview-net.page

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>