Author:halw

Date:2008-10-02T21:44:24.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@68 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2008-10-02 21:44:24 +00:00
parent 2c8b4aa75d
commit 954913e535
27 changed files with 171 additions and 144 deletions

View File

@@ -3,5 +3,5 @@
[[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 (Advanced and Same Machine) rely on specific code to Unix Operating systems and consequently cannot be run under Windows.
Here is a set of five examples written to show some basic applications using the EiffelNet library . Two of them (Advanced and Same Machine) rely on specific code to Unix Operating systems and consequently cannot be run under Windows.

View File

@@ -1,8 +1,12 @@
[[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.)
[1] Bertrand Meyer: [http://www.eiffel.com/doc/#etl Eiffel: The Language], Prentice Hall, 1992. (Available from Eiffel Software.)
[2] Bertrand Meyer: [http://www.eiffel.com/doc/#ru Reusable Software: The Base Object-Oriented Component Libraries], Prentice Hall, 1994. (Available from Eiffel Software.)
[3] W. Richard Stevens: ''Unix Network Programming'', Prentice Hall, 1990.

View File

@@ -1,10 +1,8 @@
[[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
|}
{{note|The example classes discussed in this section appear in the subdirectory ''polling ''of the example directory.}}
===9.1 Commands and events===

View File

@@ -1,17 +1,5 @@
[[Property: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]]
* [[The predefined level|The predefined level]]
* [[Introduction to the examples|Introduction to the examples]]
* [[Working at predefined level|Working at the predefined level]]
* [[Obtaining a finer degree of control|Obtaining a finer degree of control]]
* [[Using datagram sockets|Using datagram sockets]]
* [[Event-driven command execution|Event-driven command execution]]
* [[A more complex example|A more complex example]]

View File

@@ -7,7 +7,7 @@ The examples start with the most simple uses involving high-level classes coveri
All the examples discussed here appear in the directory ''$ISE_EIFFEL/examples/net'' of the Eiffel distribution.
{{warning| '''Caution''': On Windows, the `advanced' and the `same_mach' are not working since they are using specific code to Unix Operating systems. }}
{{caution|On Windows, the examples `advanced' and the `same_mach' are nonfunctional. This is because these examples use code specific to Unix Operating systems. }}

View File

@@ -1,10 +1,8 @@
[[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
|}
{{note|The example classes discussed in this section appear in the subdirectory ''advanced ''of the example directory.}}
The last example exercises most of EiffelNet's major facilities. It consists of a server that allows an arbitrary number of clients to connect to it. Each time the user of one of the client systems types a line on the keyboard, the client sends this character to the server, which then broadcasts it to all the clients (including the original sender). This scheme allows several people to talk together, hence the names chosen: the server class is called <code> CHAT </code>, and the client is called <code> JOIN </code>.

View File

@@ -165,10 +165,8 @@ Here now is the client class:
</code>
===Communication between two different machines===
{| border="1"
|-
| The example classes discussed in this section appear in the subdirectory ''two_mach ''of the example directory
|}
{{note|The example classes discussed in this section appear in the subdirectory ''two_mach ''of the example directory }}
Let us now assume that the client and the server will run on two separate machines. Instead of UNIX_ sockets, we must now use sockets of type <code>NETWORK_STREAM_SOCKET</code>.

View File

@@ -1,10 +1,7 @@
[[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
|}
{{note|The example classes discussed in this section appear in the subdirectory ''datagram ''of the example directory. }}
Using datagram sockets implies a few differences from the preceding schemes. You create a [[ref:libraries/net/reference/network_datagram_socket_chart|NETWORK_DATAGRAM_SOCKET]] or a <eiffel>UNIX_DATAGRAM_SOCKET</eiffel> as before. You do not need to call ''listen'', ''accept'' or ''connect''. Once you have created your sockets using the ''make_client ''or ''make_server'' creation procedure, you can use the ''send ''and ''received ''routines, specifying the socket to which you want to send, or from which you want to receive.