path: root/src/examples/ecore/
diff options
authorGustavo Sverzut Barbieri <>2016-08-18 01:53:16 -0300
committerGustavo Sverzut Barbieri <>2016-08-22 18:25:14 -0300
commite7df1a74830082904695f48b29ff41dff30f664a (patch)
tree0ca7be29edc40a6ff8b6ffb518e5a649c60a9f7c /src/examples/ecore/
parent5d4688679e9d3f9daa00ec53f0302f89d36028bf (diff) socket, server and dialer for TCP.
Efl.Net.Server defines how to accept new connections, doing the bind(), listen() and accept() for protocols such as TCP. Efl.Net.Dialer defines to to reach a server. Both are based on Efl.Net.Socket as communication interface that is based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being usable with code such as Efl.Io.Copier. The Server will emit an event "client,add" with the established Socket, which is a child and can be closed by both the server or the user. The Dialer extends the Socket and allows for creating one given an address, that will be resolved and connected. TCP is the initial implementation so we an validate the interfaces. UDP, Unix-Local and SSL will come later as derivate classes. The examples are documented and should cover the basic principles: - efl_io_copier_example can accept "tcp://IP:PORT" and will work as a "netcat", can send data from socket, file or stdin to a socket, file, stdout or stderr. - efl_net_server_example listens for connections and can either reply "Hello World!" and take some data or work as an echo-server, looping back all received data to the user. More complex interactions that require a "chat" between client and server will be covered with new classes later, such as a queue that empties itself once data is read.
Diffstat (limited to 'src/examples/ecore/')
1 files changed, 5 insertions, 1 deletions
diff --git a/src/examples/ecore/ b/src/examples/ecore/
index 7f20909c02..17d6d2bd92 100644
--- a/src/examples/ecore/
+++ b/src/examples/ecore/
@@ -77,7 +77,8 @@ ecore_timer_example \
77ecore_getopt_example \ 77ecore_getopt_example \
78ecore_con_eet_client_example \ 78ecore_con_eet_client_example \
79ecore_con_eet_server_example \ 79ecore_con_eet_server_example \
80efl_io_copier_example 80efl_io_copier_example \
81 82
83$(top_builddir)/src/lib/ecore/ \ 84$(top_builddir)/src/lib/ecore/ \
@@ -281,6 +282,9 @@ $(top_builddir)/src/lib/eet/
281efl_io_copier_example_SOURCES = efl_io_copier_example.c 282efl_io_copier_example_SOURCES = efl_io_copier_example.c
282efl_io_copier_example_LDADD = $(ECORE_CON_COMMON_LDADD) 283efl_io_copier_example_LDADD = $(ECORE_CON_COMMON_LDADD)
283 284
285efl_net_server_example_SOURCES = efl_net_server_example.c
286efl_net_server_example_LDADD = $(ECORE_CON_COMMON_LDADD)
284SRCS = \ 288SRCS = \
285ecore_animator_example.c \ 289ecore_animator_example.c \
286ecore_buffer_example.c \ 290ecore_buffer_example.c \