Author:admin

Date:2008-09-19T07:54:43.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@25 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2008-09-19 07:54:43 +00:00
parent c0aba35d72
commit 8a46c5d793
247 changed files with 1257 additions and 47 deletions

View File

@@ -1,5 +1,6 @@
[[Property:title|Advanced]]
[[Property:weight|0]]
[[Property:uuid|9229e5c1-165e-add7-6ce2-355dec4544f1]]
==Compiling==
To compile the example, you must compile two projects: ''chat'' and ''join''.

View File

@@ -1,5 +1,6 @@
[[Property:title|EiffelNet Samples]]
[[Property:weight|2]]
[[Property:uuid|c9c0fe01-a80f-5834-8503-aad1063e1503]]
=Description=
Here is a set of five examples written thanks to the EiffelNet library to show some basic applications. Two of them rely on specific code to Unix Operating systems and consequently could not be run under Windows.

View File

@@ -1,5 +1,6 @@
[[Property:title|Polling]]
[[Property:weight|1]]
[[Property:uuid|3bdc742f-2214-c5fb-2336-bc613b721c0d]]
==Compiling==
To compile the example, you must compile two projects: ''client'' and ''server.''

View File

@@ -1,5 +1,6 @@
[[Property:title|Predef]]
[[Property:weight|2]]
[[Property:uuid|d9851197-ae39-5e73-9bf3-51d7cb9fa23c]]
==Compiling==
To compile the example, you must compile two projects: ''client'' and ''server.''

View File

@@ -1,5 +1,6 @@
[[Property:title|Same Machine]]
[[Property:weight|3]]
[[Property:uuid|d10e1e4b-94c1-2725-f465-79da88730196]]
==Compiling==
To compile the example, you must compile two projects: ''client'' and ''server.''

View File

@@ -1,5 +1,6 @@
[[Property:title|Two Machines]]
[[Property:weight|4]]
[[Property:uuid|52307bfe-116d-f5c4-ccf1-98f330ef82e5]]
==Compiling==
To compile the example, you must compile two projects: ''client'' and ''server.''

View File

@@ -1,5 +1,6 @@
[[Property:title|Bibliography]]
[[Property:weight|10]]
[[Property:uuid|739d59a6-c0b0-899f-24cf-5a17655a5512]]
[1] Bertrand Meyer: [http://www.eiffel.com/doc/] , Prentice Hall, 1992. (Available from Eiffel Software.)
[2] Bertrand Meyer: [http://www.eiffel.com/doc/] , Prentice Hall, 1994. (Available from Eiffel Software.)
[3] W. Richard Stevens: ''Unix Network Programming'', Prentice Hall, 1990.

View File

@@ -1,5 +1,6 @@
[[Property:title|Clients and servers]]
[[Property:weight|1]]
[[Property:uuid|3c1711f8-3aa0-9f3b-c1ce-0cd9324b3e00]]
In the client-server model of computing, a number of software systems, the clients, may require general-purpose services provided by other systems, the servers. Clients and servers run concurrently, on the same machine or, more generally, on different machines connected through a network.
Typically, the clients are systems, for example systems that provide useful facilities for human users; the servers take care of operations that clients could not perform on their own (or would perform less efficiently), and of operations that are common to several clients. Example of servers include:

View File

@@ -1,5 +1,6 @@
[[Property:title|Event-driven command execution]]
[[Property:weight|8]]
[[Property:uuid|66036773-3e41-2877-7fa4-e0601558fc7c]]
{| border="1"
|-
| The example classes discussed in this section appear in the subdirectory ''polling ''of the example directory

View File

@@ -1,6 +1,7 @@
[[Property:title|EiffelNet]]
[[Property:link_title|EiffelNet Tutorial]]
[[Property:weight|0]]
[[Property:uuid|09679e98-4d5c-d2af-439b-00b28c6cfe4b]]
* [[What is EiffelNet|Introduction]]
* [[Clients and servers|Clients and server]]
* [[An overview of EiffelNet Mechanisms|An overview of EiffelNet mechanisms]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Introduction to the examples]]
[[Property:weight|4]]
[[Property:uuid|3d9d54ab-0324-d8d4-ae32-f5379f2fc721]]
The following sections describe a set of examples showing how to use EiffelNet to build client-server applications.
The examples start with the most simple uses involving high-level classes covering common cases and shielding developers from details of the mechanism. Subsequent examples will reveal some of these details, useful for more advanced or specific applications of EiffelNet.

View File

@@ -1,5 +1,6 @@
[[Property:title|A more complex example]]
[[Property:weight|9]]
[[Property:uuid|a57bbf5b-d877-8a50-1bca-92848868bdec]]
{| border="1"
|-
| The example classes discussed in this section appear in the subdirectory ''advanced ''of the example directory

View File

@@ -1,6 +1,7 @@
[[Property:title|Obtaining a finer degree of control]]
[[Property:link_title|]]
[[Property:weight|6]]
[[Property:uuid|9e2de24b-8ae3-5b57-9797-e163defe83d9]]
Let us now take a more internal look at the workings of EiffelNet. The two examples that follow have the same behavior as the preceding one; since their text is less simple, they are only interesting as an illustration of the lower-level facilities that you may want to use in specific cases. If you are already familiar with socket programming, they will also give you a more precise idea of how EiffelNet encapsulates the basic socket mechanisms.
As before, we have a client and a server class, still called <code>OUR_CLIENT</code> and <code>OUR_SERVER</code>, which are part of two different systems and will run concurrently. The communication uses streams rather than datagrams; the datagram form of communication will be examined in section [[Using datagram sockets|using datagram sockets]] .

View File

@@ -1,5 +1,6 @@
[[Property:title|An overview of EiffelNet Mechanisms]]
[[Property:weight|2]]
[[Property:uuid|08d7ca19-65e3-7f35-fbce-a50d0aedf626]]
To enable clients and servers to exchange objects, you will have to ensure that they can refer to a common '''address'''. At the predefined level this is really the only notion that you need to know, although it is useful to get the bigger picture, in particular the concept of '''socket '''(which enables systems to set up communication channels), the various forms of communication (single-machine versus multi-machine, stream versus datagram), the kinds of object structure that may be exchanged, the notion of packet, and how to associate commands with communication events. The following paragraphs review these ideas and the corresponding EiffelNet abstractions.
===Establishing a common address===

View File

@@ -1,5 +1,6 @@
[[Property:title|Using datagram sockets]]
[[Property:weight|7]]
[[Property:uuid|ba27b7dd-77db-7f6f-9b8c-2a3111d9d432]]
{| border="1"
|-
| The example classes discussed in this section appear in the subdirectory ''datagram ''of the example directory

View File

@@ -1,5 +1,6 @@
[[Property:title|What is EiffelNet]]
[[Property:weight|0]]
[[Property:uuid|bf6d5904-9df8-451a-2ef9-0eee1200b60f]]
===What is EiffelNet?===
The client-server model of computing is quickly gaining ground as a way of optimizing network resources and of building sophisticated and flexible transactional applications.

View File

@@ -1,6 +1,7 @@
[[Property:title|EiffelNet Library]]
[[Property:link_title|EiffelNet]]
[[Property:weight|4]]
[[Property:uuid|80fbd984-da52-b573-6282-33f499d67ab5]]
Type: Library <br/>
Platform: Any <br/>

View File

@@ -4,9 +4,9 @@
[[Property:uuid|4ddb235c-fea6-ee00-05af-6493e2c652a7]]
== Network communication ==
* EiffelNet http://ise181.ise/book/documentation/eiffelnet-library
** EiffelNet tutorial http://ise181.ise/book/documentation/eiffelnet
* [[EiffelNet Library|EiffelNet]]
** [[EiffelNet|EiffelNet tutorial]]
** EiffelNet class reference
** EiffelNet samples http://ise181.ise/book/documentation/eiffelnet-samples
** [[EiffelNet Samples|EiffelNet samples]]
* cURL library