Linux SoftwareSystemNetworkingasciireflector 1.2

asciireflector 1.2


asciireflector is a simple, unix based reflector program that allows sharing of data between clients through a TCP stream-socket conn
Developer:   A. Schiffler
      more software by author →
Price:  0.00
License:   GPL (GNU General Public License)
File size:   10K
Language:   
OS:   
Rating:   0 /5 (0 votes)
Your vote:  
enlarge screenshot


asciireflector is a simple, unix based reflector program that allows sharing of data between clients through a TCP stream-socket connection. The reflector reads ASCII lines from each connected client, buffers them in a shared pool (ringbuffer) and sends all lines back to each client.

Usage and protocol:

Client reception is initiated by sending a textline to the reflector. This will usually be the data that is to be shared between clients. This line gets stored in the reflectors buffer unless it is the text "POLL". All lines send to the reflector have to end with a newline character. If the line is preceded by the keyword "PUSH", the line gets distributed by the reflector with the PUSH removed, but no lines get send back to the client. Otherwise immediately after the reception from the client, all textlines that have
been received since the last sending of text will be written back to the client. This sequence is finished when the text "OVER" is send from the reflector. This means no new textlines are in the ringbuffer. To close the socket connection with the reflector, send the word "LOGOUT".

Note that the reflector sends the last textline that was received from the client back to the client during the next iteration. This can be used to test if the speed of the network connection is sufficient to maintain complete reception of the ringbuffer. If the first line
received is not equal to the last line send, the ringbuffer has been overwritten by another client in the mean time, indicating that reception is too slow. Reflector use should be stopped in such a case.

Thus the client should run the following sequence repeatedly:

1. Connect to reflector
2.) Send data

2.1.) Send data as "textline", store as "last_textline"

OR

2.2) Send "POLL"

OR

2.3) Send "PUSH__and__some_text" to send text without having to receive anything (i.e. proceed to 4.)

3.) Read data
3.1.) Read "textline" unless PUSH was send
3.1.2) If first "textline" is not "last_textline" abort with an error
3.2.) Repeat from 3.1 until "textline" is the "OVER"
4.) ... do other stuff ...
5.) Goto 2. or send "LOGOUT"

The use of ASCII and stream-sockets was used for its easy of use and transparency - its not very efficient though for realtime applications that have to transport a lot of data.

Compilation and test:

To compile the source type
make

Then run
asciireflector

To test, connect to the reflector in (a few) different terminal(s) with telnet localhost 1522 and type a few lines.

The program was developed on a RedHat Linux system but should work with any unix system that provides a pthread implementation.

Limits and settings:

The current (compiled-in defaults) are:

Port number 1522
Connections 20
Line Length 128 chars (including newline)
Size of Ringbuffer 1024 lines

Change the defines in the .h files to adjust to your application.

What's New in This Release:
  • Fixed connection count
  • Added a few messages
  • Fixed PUSH behaviour
    tags the reflector  the client  the ringbuffer  the last  last textline  from the  that have  send the  send data  with the  all lines  socket connection  reflector this  

    Download asciireflector 1.2


     http://www.ferzkopp.net/Software/asciireflector/asciireflector-1.2.tar.gz


    Authors software

    SDL_gfx 2.0.13 (by A. Schiffler)
    The SDL_gfx library evolved out of the SDL_gfxPrimitives code which provided basic drawing routines such as lines, circles or polygon

    libgaudio 1.6 (by A. Schiffler)
    Samples are loaded into memory and playback is then triggered or stopped

    libbgrab 2.1 (by A. Schiffler)
    libbgrab is a framegrabber library for Linux using the v4l driver and bt/conexant analog SD video input cards.

    To implement consta

    jasciimovie 2.0 (by A. Schiffler)

    beyond 1.3 (by A. Schiffler)
    beyond is a driver for the multimedia installation for Prof


    Similar software

    asciireflector 1.2 (by A. Schiffler)
    asciireflector is a simple, unix based reflector program that allows sharing of data between clients through a TCP stream-socket conn

    Template::Tutorial 2.15 (by Andy Wardley)
    Template::Tutorial are template toolkit tutorials.

    This section includes tutorials on using the Template Toolkit

    VNC Reflector 1.2.4 (by Constantin Kaplinsky)
    VNC Reflector project is a specialized VNC proxy server.

    VNC Reflector is a specialized VNC server which acts as a proxy between a

    MathML::Entities 0.13 (by Jacques Distler)
    MathML::Entities is a Perl module that can convert XHTML+MathML Named Entities to Numeric Character References.

    SYNOPSIS

    use M

    post 4.7 (by Dan Goldwater)
    post is a highly configurable Web traffic generator and Web server benchmarking tool

    GTK+ Send-PR 0.4.7 (by Miguel Mendez)
    GTK+ Send-PR is a user friendly GNATS client.

    gtk-send-pr is a problem report tool, designed to send reports to a GNATS database s

    SerLooK 0.3.2 (by SerLooK Team)
    SerLooK project is a tool aimed to inspect and debug serial line data traffic developed in a Linux with KDE environment

    Ircproxy 1.2.41d.pl4 (by Jonas Kvinge)
    Night Light IRC Proxy is a multi-user IRC (Internet Relay Chat) proxy written in C

    SMS Send 0.4 (by Gullanian)
    SMS Send is a Firefox toolbar that allows you to send SMS text messages to over 170 countries.

    SMS Send loads your online address

    hylaPEx 2.0.9.1 (by Michele Petrazzo)
    hylaPEx is a client for HylaFAX completely written in Python


    Other software in this category

    Nmap 4.20 (by Fyodor)
    Nmap is a utility for network exploration or security auditing

    iptables 1.3.7 (by Harald Welte)
    iptables and netfilter are building blocks of a framework inside the Linux 2.4.x and 2.6.x kernel

    Linux Bandwidth Arbitrator 9.62 (by astormchaser)
    Linux Bandwidth Arbitrator allows beginning-to-advanced network administrators to control bandwidth

    Ettercap 0.7.3 (by ALoR NaGA)
    Ettercap is a network sniffer/interceptor/logger for ethernet LANs

    rdesktop 1.5.0 (by matthewc)
    rdesktop is an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of natively speakin

  •     search


    Featured Software

    jEdit 4.3 pre8
    jEdit is an Open Source text editor written in Java

    Opera 9.02
    Surf the Internet in a safer, faster, and easier way with Opera browser

    GNU Aspell 0.60.4
    GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell


    Subscribe in Rojo
    Google Reader
    Add to My Yahoo!

    Add to My AOL
    Subscribe with Bloglines
    Subscribe in NewsGator Online
    Add 'nixbit linux software' to Newsburst from CNET News.com
    del.icio.us nixbit linux software


    Top tags