Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A nice place for simple libev examples. Please contribute.

branch: master

Merge pull request #3 from kpy3/master

Missed string.h in src/unix-echo-client.c
latest commit 756021d327
AJ ONeal authored August 02, 2011
Octocat-spinner-32 bin added bin/ November 02, 2010
Octocat-spinner-32 include General cleanup and fixes February 11, 2011
Octocat-spinner-32 ipc moved prototypes up November 03, 2010
Octocat-spinner-32 obj untested remote control November 02, 2010
Octocat-spinner-32 paired-threaded-ipc fixed shared library not found issue January 27, 2011
Octocat-spinner-32 reference-implementations-js untested remote control November 02, 2010
Octocat-spinner-32 src Added absent string.h, fixed compile August 02, 2011
Octocat-spinner-32 .gitignore removed extraneous files January 21, 2011
Octocat-spinner-32 LICENSE.MIT added license March 15, 2011
Octocat-spinner-32 Makefile untested remote control November 02, 2010
Octocat-spinner-32 README.md clarified client usage November 02, 2010
README.md

libev Echo Client / Server

A collection of simple examples for libev.

Please fork and contribute.

Usage

The working examples so far consist of Unix Socket echo server and echo client.

unix socket

I'm awaiting confirmation from veterans on the libev mailing list that this is done, in fact, the right way(TM).

These should be very easily adaptable with some very very simple cut/paste action to produce a TCP example echo server.

You should be able to make them and then type on the console and see that the data does go back and forth.

make unix-echo-server unix-echo-client

In terminal A:

./unix-echo-server

Then type away in terminal B:

./unix-echo-client

Note: Opening the client and server in reverse order won't work.

For testing and for reference, compatible servers written for Node.JS are provided.

udp socket

If I understand it correctly, it may be that This example is not actually taking advantage of any of the features of libev. I grabbed it from the mailing list and I think it just wraps blocking code in libev.

  • makethe udp-echo binary
  • start the udp-echo server in one terminal
  • test that you can see the open port 3333 in another
  • test that you see when udp.js connets by the message in the first terminal

Expected procedure and results:

$ make udp-echo && ./udp-echo
cc -Wall -Werror -lev -o udp-echo udp-echo.c
udp_echo server started...


$ netstat -lau | grep 3333
udp        0      0 *:3333                  *:*

$ node udp.js
# this show up on the server window
udp socket has become readable

Installing libev

sudo apt-get install libev libev-dev
Something went wrong with that request. Please try again.