kopia lustrzana https://gitlab.com/sane-project/website
83 wiersze
3.7 KiB
HTML
83 wiersze
3.7 KiB
HTML
<html><body>
|
|
<a href="doc016.html"><img src=../icons/next.gif alt="Next"></a>
|
|
<a href="doc000.html"><img src=../icons/up.gif alt="Up"></a>
|
|
<a href="doc014.html"><img src=../icons/previous.gif alt="Previous"></a>
|
|
<a href="doc000.html"><img src=../icons/contents.gif alt="Contents"></a>
|
|
<a href="doc019.html"><img src=../icons/index.gif alt="Index"></a>
|
|
<hr>
|
|
|
|
<title>Network Protocol</title>
|
|
<h1><a name="s5">5 Network Protocol</a></h1>
|
|
|
|
<p>The SANE interface has been designed to facilitate network access to
|
|
image acquisition devices. In particular, most SANE implementations
|
|
are expected to support a network backend (net client) and a
|
|
corresponding network daemon (net server) that allows accessing image
|
|
acquisition devices through a network connection. Network access is
|
|
useful in several situations:
|
|
<ul>
|
|
|
|
<p><li>To provide controlled access to resources that are inaccessible
|
|
to a regular user. For example, a user may want to access a device
|
|
on a host where she has no account on. With the network protocol,
|
|
it is possible to allow certain users to access scanners without
|
|
giving them full access to the system.
|
|
|
|
<p> Controlling access through the network daemon can be useful even in
|
|
the local case: for example, certain backends may require root
|
|
privileges to access a device. Rather than installing each frontend
|
|
as setuid-root, a system administrator could instead install the
|
|
SANE network daemon as setuid-root. This enables regular users to
|
|
access the privileged device through the SANE daemon (which,
|
|
presumably, supports a more fine-grained access control mechanism
|
|
than the simple setuid approach). This has the added benefit that
|
|
the system administrator only needs to trust the SANE daemon, not
|
|
each and every frontend that may need access to the privileged
|
|
device.
|
|
|
|
<p><li>Network access provides a sense of ubiquity of the available
|
|
image acquisition devices. For example, in a local area network
|
|
environment, this allows a user to log onto any machine and have
|
|
convenient access to any resource available to any machine on the
|
|
network (subject to permission constraints).
|
|
|
|
<p><li>For devices that do not require physical access when used (e.g.,
|
|
video cameras), network access allows a user to control and use
|
|
these devices without being in physical proximity. Indeed, if such
|
|
devices are connected to the Internet, access from any place in the
|
|
world is possible.
|
|
|
|
<p></ul>
|
|
|
|
<p>The network protocol described in this chapter has been design with
|
|
the following goals in mind:
|
|
<ol>
|
|
|
|
<p><li>Image transmission should be efficient (have low encoding
|
|
overhead).
|
|
|
|
<p><li>Accessing option descriptors on the client side must be
|
|
efficient (since this is a very common operation).
|
|
|
|
<p><li>Other operations, such as setting or inquiring the value of an
|
|
option are less performance critical since they typically require
|
|
explicit user action.
|
|
|
|
<p><li>The network protocol should be simple and easy to implement on
|
|
any host architecture and any programming language.
|
|
|
|
<p></ol>
|
|
The SANE protocol can be run across any transport protocol that
|
|
provides reliable data delivery. While SANE does not specify a
|
|
specific transport protocol, it is expected that TCP/IP will be among
|
|
the most commonly used protocols.
|
|
|
|
<p><h2><a href="doc016.html">5.1 Data Type Encoding</a></h2><h2><a href="doc017.html">5.2 Remote Procedure Call Requests</a></h2><p><hr>
|
|
<a href="doc016.html"><img src=../icons/next.gif alt="Next"></a>
|
|
<a href="doc000.html"><img src=../icons/up.gif alt="Up"></a>
|
|
<a href="doc014.html"><img src=../icons/previous.gif alt="Previous"></a>
|
|
<a href="doc000.html"><img src=../icons/contents.gif alt="Contents"></a>
|
|
<a href="doc019.html"><img src=../icons/index.gif alt="Index"></a>
|
|
<hr>
|
|
</body></html>
|