Main > Free Download Search >

Free sockets software for linux

sockets

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 461
C++ Sockets 2.1.7

C++ Sockets 2.1.7


C++ Sockets is a C++ wrapper for BSD-style sockets. more>>
C++ Sockets is a C++ wrapper for BSD-style sockets.
Main features:
- SSL support
- IPv6 support
- tcp and udp sockets
- encrypted tcp
- http protocol
- highly customizable error handling
Enhancements:
- A fatal bug in LineProtocol/Online when a CRLF happened over a read buffer boundary has been fixed.
- New output buffer logic.
- OnWriteComplete callback has been added, which fires after the output buffer has been transferred.
<<less
Download (0.076MB)
Added: 2007-06-05 License: GPL (GNU General Public License) Price:
874 downloads
AdaSockets 1.8.4.7

AdaSockets 1.8.4.7


AdaSockets is a library that lets you use BSD sockets from Ada (TCP, UDP and multicast). more>>
AdaSockets is a library that lets you use BSD sockets from Ada (TCP, UDP and multicast).
Installation:
% ./configure --prefix=
% make install
This will build and install this software under /lib/adasockets. The adasockets-config program and its associated man page will be installed respectively under < any directory >/bin and < any directory >/man/
In the examples subdirectory, you will find an example called "tcprelay" which illustrates how this package can be used.
GNU make is not strictly necessary but is recommended. It is needed if you want to rebuild the documentation.
Enhancements:
- Packaging glitch is now fixed, thanks to Dani for reporting it.
<<less
Download (0.60MB)
Added: 2005-12-12 License: GPL (GNU General Public License) Price:
1411 downloads
Simple Sockets Library 7c

Simple Sockets Library 7c


Simple Sockets Library provides a simple C programming interface to sockets. more>>
Simple Sockets Library provides a simple C programming interface to sockets.
The Simple Sockets Library makes sockets easy to use and comes as public domain source code. It resembles Cs file I/O, uses whatever port is available, has named servers and port reuse, streaming/blocking sockets used, polling support, blocking/selection support via numerous functions, timeout control and firewall support.
Main features:
- Resembles Cs file i/o:
- Sclose() Sgets() Sopen() Sprintf() Sputs() Sread() Sscanf() Swrite() Svprintf()
- Uses currently available ports only, so if a server can be brought up, it will be
- Named sockets -- servers have names, not fixed port addresses!
- (no more REUSEADDR problems, linger setting, zombie sockets!)
- Streaming/blocking sockets used
- Polling supported (ie. avoids blocking):
- Stest() Smasktest() Speek()
- Numerous functions to handle multiple concurrent clients:
- Smaskfdset() Smaskpush() Smasktime() Smaskunset() Smaskwait()
- Smaskget() Smaskset() Smaskunfdset() Smaskuse() Sprtmask()
- Smaskpop() Smasktest()
- Timeout control:
- Stimeoutwait() Smasktime()
- The PortMaster (Spm): Maintains a distributed port/server-name database Each machine runs a PortMaster which maps servers by name to their ports (transparent to programmers and users!)
- Firewall Support
- The PortMaster can (optionally) only "put through" connections from approved machine sites
- Supports "path"ing for sockets: one can use an environment variable to track down a server, by name, on any machine in a group:
- Sopenv()
- Doesnt need root privileges (thats Unix lingo...)
- Now supports fixed ports (servers and/or clients) to facilitate interfacing to non-SSL servers/clients
The Simple Sockets Librarys main purpose is to provide an Application Programming Interface that strongly resembles the standard C librarys file handling interface. Thus programmers find that the Simple Sockets Librarys learning curve is particularly short. As a secondary purpose the Simple Sockets Library helps programmers avoid some common programming problems with sockets (avoided: large buffers that dont transfer in their entirety without special effort, the Nagle algorithms practical effect of often limiting one to five transfers per second, servers whose ports refuse to re-open until two minutes have passed, etc). Strings are null-byte terminated just like regular C/C++ strings, facilitating their ease of use in C/C++ programming.
The Simple Sockets Library preferentially uses names for its servers rather than requiring hard-coded port numbers. Imagine if, instead of files having names, everyone went about saying "use sector 4 and track 14" or somesuch thing. This situation reflects what we now have with sockets -- and when two programs use the same port number for their servers, they cant co-exist simultaneously on a system. However, especially for those whose programs must interface with other programs using hard-coded port numbers, the Simple Socket Library also supports hard-code port numbers.
The Simple Sockets Library opens streaming sockets. Thus the Simple Sockets Librarys sockets provide guaranteed delivery of information in the correct order (unlike datagrams, for example).
The PortMaster (Spm), source code for which is part of the library, provides a "phonebook" to map server names to dynamically allocated port numbers. Port numbers thus wont clash; the operating system determines which ones are currently available and the PortMasters effectively publish the result.
Enhancements:
- (Marcel Satchel) improved for Windows
- (Aug 22, 2005) included the "b" option for Sopen() (block until requested server becomes available)
- (Marcel Satchel) Sinit.c fixed (yet again!)
<<less
Download (0.18MB)
Added: 2007-03-13 License: Public Domain Price:
962 downloads
Socket 5.8.8

Socket 5.8.8


Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa is a Perl module to load the C socket.h defines and structure manipulator more>>
Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa is a Perl module to load the C socket.h defines and structure manipulators.

SYNOPSIS

use Socket;

$proto = getprotobyname(udp);
socket(Socket_Handle, PF_INET, SOCK_DGRAM, $proto);
$iaddr = gethostbyname(hishost.com);
$port = getservbyname(time, udp);
$sin = sockaddr_in($port, $iaddr);
send(Socket_Handle, 0, 0, $sin);

$proto = getprotobyname(tcp);
socket(Socket_Handle, PF_INET, SOCK_STREAM, $proto);
$port = getservbyname(smtp, tcp);
$sin = sockaddr_in($port,inet_aton("127.1"));
$sin = sockaddr_in(7,inet_aton("localhost"));
$sin = sockaddr_in(7,INADDR_LOOPBACK);
connect(Socket_Handle,$sin);

($port, $iaddr) = sockaddr_in(getpeername(Socket_Handle));
$peer_host = gethostbyaddr($iaddr, AF_INET);
$peer_addr = inet_ntoa($iaddr);

$proto = getprotobyname(tcp);
socket(Socket_Handle, PF_UNIX, SOCK_STREAM, $proto);
unlink(/var/run/usock);
$sun = sockaddr_un(/var/run/usock);
connect(Socket_Handle,$sun);

This module is just a translation of the C socket.h file. Unlike the old mechanism of requiring a translated socket.ph file, this uses the h2xs program (see the Perl source distribution) and your native C compiler. This means that it has a far more likely chance of getting the numbers right. This includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.

<<less
Download (12.2MB)
Added: 2007-05-11 License: Perl Artistic License Price:
900 downloads
SocketW r031026

SocketW r031026


SocketW project is a cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++ library designed to be easy to use. more>>
SocketW project is a cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++ library designed to be easy to use.

It supports Unix sockets and TCP/IP sockets with optional SSL/TLS (OpenSSL) support. SocketW allows you to write portable and secure network applications quickly without needing to spend time learning low-level system functions or reading OpenSSL manuals.

<<less
Download (0.046MB)
Added: 2006-09-11 License: GPL (GNU General Public License) Price:
1138 downloads
Danga::Socket 1.56

Danga::Socket 1.56


Danga::Socket is an event loop and event-driven async socket base class. more>>
Danga::Socket is an event loop and event-driven async socket base class.

SYNOPSIS

package My::Socket
use Danga::Socket;
use base (Danga::Socket);
use fields (my_attribute);

sub new {
my My::Socket $self = shift;
$self = fields::new($self) unless ref $self;
$self->SUPER::new( @_ );

$self->{my_attribute} = 1234;
return $self;
}

sub event_err { ... }
sub event_hup { ... }
sub event_write { ... }
sub event_read { ... }
sub close { ... }

$my_sock->tcp_cork($bool);

# write returns 1 if all writes have gone through, or 0 if there
# are writes in queue
$my_sock->write($scalar);
$my_sock->write($scalarref);
$my_sock->write(sub { ... }); # run when previous data written
$my_sock->write(undef); # kick-starts

# read max $bytecount bytes, or undef on connection closed
$scalar_ref = $my_sock->read($bytecount);

# watch for writability. not needed with ->write(). write()
# will automatically turn on watch_write when you wrote too much
# and turn it off when done
$my_sock->watch_write($bool);

# watch for readability
$my_sock->watch_read($bool);

# if you read too much and want to push some back on
# readable queue. (not incredibly well-tested)
$my_sock->push_back_read($buf); # scalar or scalar ref

Danga::Socket->AddOtherFds(..);
Danga::Socket->SetLoopTimeout($millisecs);
Danga::Socket->DescriptorMap();
Danga::Socket->WatchedSockets(); # count of DescriptorMap keys
Danga::Socket->SetPostLoopCallback($code);
Danga::Socket->EventLoop();

This is an abstract base class for objects backed by a socket which provides the basic framework for event-driven asynchronous IO, designed to be fast. Danga::Socket is both a base class for objects, and an event loop.

Callers subclass Danga::Socket. Danga::Sockets constructor registers itself with the Danga::Socket event loop, and invokes callbacks on the object for readability, writability, errors, and other conditions.

Because Danga::Socket uses the "fields" module, your subclasses must too.

<<less
Download (0.018MB)
Added: 2007-04-16 License: Perl Artistic License Price:
924 downloads
gnome-socket 0.1.0

gnome-socket 0.1.0


gnome-socket provides a simple library for high-level network asynchronous I/O in GNOME applications. more>>
gnome-socket provides a simple library for high-level network asynchronous I/O in GNOME applications.

gnome-socket is a library that provides simple high-level network access to GNOME applications. Its main features are asynchronous DNS lookup and non-blocking network I/O.

Its designed to use the very flexible glib event loop in order to make integration with GNOME programs easy.

<<less
Download (0.18MB)
Added: 2007-04-18 License: LGPL (GNU Lesser General Public License) Price:
922 downloads
Rocks 2.4

Rocks 2.4


Rocks provides an user-level package for reliable and mobile network connections. more>>
Rocks provides an user-level package for reliable and mobile network connections.
Rocks protect sockets-based applications from network failures, particularly failures common to mobile computing, including:
.Link failures (e.g., unexpected modem disconnection);
.IP address changes (e.g., laptop movement, DHCP lease expiry);
.Extended periods of disconnection (e.g., laptop suspension).
Rock-enabled programs continue to run after any of these events; their broken connections recover automatically, without loss of in-flight data, when connectivity returns.
Rocks work transparently with most applications, including SSH clients, X-windows applications, and network service daemons.
Main features:
- Reliable: Rocks detect connection failures within seconds and reconnect automatically when connectivity is restored. Reconnection succeeds even when one end of the connection obtains a new IP address.
- Safe: Rocks recover lost in-flight data no matter when failures occur, safely interoperate with ordinary sockets, and authenticate resumed connections.
- User level: You can install and use rocks as an ordinary user. They do not require any kernel modifications.
- Transparent: You can use rocks with existing programs without re-programming, re-compiling, or re-linking.
- Easy to use: Rocks come with simple command-line tools for enabling rocks in ordinary programs.
Enhancements:
- Bug fixes.
<<less
Download (0.22MB)
Added: 2007-03-14 License: LGPL (GNU Lesser General Public License) Price:
956 downloads
Libsocketcpp 1.0.7

Libsocketcpp 1.0.7


Libsocketcpp provides a easy-to-use C++ socket library for TCP and UDP functionality. more>>
Libsocketcpp provides a easy-to-use C++ socket library class.
Dispite the name, the TCPSocket class can handle both UDP and TCP connections.
Unfortunatly right now, the class is simple. It does not do anything really fancy like non-blocking sockets, select which interfaces you want to use, etc...
What it does allow you to do is to set up a TCP or UDP server/client and send and receive blocks of data. Plain and simple
Enhancements:
- Fixed missing include inside tcpservertest test program.
- Should be able to compile on RH 7.0 now.
<<less
Download (0.14MB)
Added: 2006-09-08 License: GPL (GNU General Public License) Price:
1142 downloads
Raw Socket Constructor 2.1a

Raw Socket Constructor 2.1a


Raw Socket Constructor provides a tool for sending packets from the console. more>>
Raw Socket Constructor provides a tool for sending packets from the console.

Raw Socket Constructor is a tool that uses the Libsock library to create arbitrary TCP, ICMP, UDP, TCP6, ICMP6, or UDP6 packets.

<<less
Download (0.008MB)
Added: 2007-03-22 License: GPL (GNU General Public License) Price:
950 downloads
Raw Socket Library 2.1

Raw Socket Library 2.1


Raw Socket Library provides a simple to use raw socket library with IPV6 support. more>>
Raw Socket Library provides a simple to use raw socket library with IPV6 support.
Raw Socket Library provides a simple mechanism to send raw socket packet using IPV4 and IPV6 using a simple struct.
It currently supports TCP, ICMP, UDP, and ICMPv6.
Enhancements:
- ARP has been added but not tested. More IP4 options can be changed at code time now.
<<less
Download (0.012MB)
Added: 2007-03-22 License: GPL (GNU General Public License) Price:
963 downloads
Socket::PassAccessRights 0.03

Socket::PassAccessRights 0.03


Socket::PassAccessRights is a Perl extension for BSD style file descriptor passing via Unix domain sockets. more>>
Socket::PassAccessRights is a Perl extension for BSD style file descriptor passing via Unix domain sockets.

SYNOPSIS

use Socket::PassAccessRights;
Socket::PassAccessRights::sendfd(fileno(SOCKET), fileno(SEND_ME)) or die;
$fd = Socket::PassAccessRights::recvfd(fileno(SOCKET)) or die;
open FD, ">&=$fd" or die "$!"; # convert int fd to file handle

Implements passing access rights (i.e. file descritors) over Unix domain sockets. Only one fd can be passed at one time and no other data can be sent in the same operation (operation itself involves sending exactly one byte of data to solve EOF detection anomaly).

See test.pl and examples directory for usage examples.

PLATFORMS

This code has only been tested on

* Linux-2.0.38 with glibc-2.0.7 (libc.so.6) and libc.so.5 (BSD4.4 style)
* Linux-2.2.14 with glibc-2.0.7 (libc.so.6) (BSD4.4 style)
* Solaris-2.6 using gcc (BSD4.3 style)

Specifically, the code from [Stevens] did not work out of the box. I had to rename msg.msg_accrights* to msg.control* and send at least one byte. General impression from net is that file descripto passing code seems to be buggy - not just in Linux, but on FreeBSD, too.

<<less
Download (0.007MB)
Added: 2007-04-19 License: Perl Artistic License Price:
918 downloads
CPP Socket library 0.8.4

CPP Socket library 0.8.4


CPP Socket library is a small Classlibrary for C++ that supports a easy usage of socket-programming for networking-software. more>>
CPP Socket library is a small Classlibrary for C++ that supports a easy usage of socket-programming for networking-software.

It provides a simple object-oriented interface to the classic C library calls.

With CPPSocket supports the following network protocols:

- TCP (transmission control protocol; needs an established connection from one host to another)
- UDP (user datagram protocol; packets can be sent without an established connection)
- IPv4 (internet protocol version 4; uses 32-bit network addresses)

These protocols are what may also be called TCP/IP.

The library provides two layers of abstraction:

- Low-Level
This is a simple oo interface of the classic socket calls. But it provides some (optional) abstractions for addressing and buffering.

Usefull for more experienced programmers, that have already worked with classic sockets.

- High-Level
This provides somewhat more abstraction and ignores some functionality of the full blown sockets.

But nevertheless it is quite usefull and makes programming of networking software very easy.

So its intended to be used by novice programmers or those who dont want the maximum complexity/flexibility but an easy to use network-interface.
<<less
Download (MB)
Added: 2006-09-07 License: GPL (GNU General Public License) Price:
678 downloads
socklog 2.1.0

socklog 2.1.0


socklog cooperates with the runit package to create a small and secure replacement for syslogd. more>>
socklog cooperates with the runit package to create a small and secure replacement for syslogd. socklog supports system logging through Unix domain sockets (/dev/log) and UDP sockets (0.0.0.0:514) with the help of runits runsvdir, runsv, and svlogd.
socklog provides a different network logging concept, and also does log event notification. svlogd has built in log file rotation based on file size, so there is no need for any cron jobs to rotate the logs. socklog is secure, small and reliable.
Enhancements:
- With this version, the socklog-conf program creates the socklog service directories in /etc/sv/ instead of /etc/socklog/, and names them socklog-unix, socklog-klog, etc.
- Additionally, it creates a ./check script in the socklog-unix service directory, which is utilized by runits sv program when starting or checking the service.
<<less
Download (0.055MB)
Added: 2006-03-19 License: GPL (GNU General Public License) Price:
1314 downloads
bufsock.py 1.1

bufsock.py 1.1


bufsock.py is a python module that makes it a little bit easier to work with sockets. more>>
bufsock.py is a python module that makes it a little bit easier to work with sockets, and may also make your I/O faster if youre reading and/or writing lots of tiny packets.

Also, you may find that it makes your network applications more reliable, as the network is allowed to split apart your packets into multiple smaller packets, or aggregate two or more packets into one larger packet, if it decides it needs to do so for reliability or performance.

So you might do a s.recv expecting to get one line of input, but the network decided to batch together two remote s.sends into one s.recv, for example. But the network usually, but not always, will batch up your packets the way youd expect - so this can be a difficult problem to track down.

It supports the following methods:

read(length) brings in a specific number of bytes.
readto(char) reads up thru the next occurence of char
readtomax(char,length) reads up thru the next occurence of char, or length bytes, whichever is less
set_chunk_len(length) says "do reads and writes in increments of length". The chunk length defaults to 4096. You should make this larger on networks that employ jumbo frames to squeeze out more performance!
send(buf) writes the bytes in buf.
flush() is just like stdios (the C librarys) flush function. Call it when you want an output buffer flushed (written immediately).
shutdown(v) just like for a regular socket, except it flushes first.

Usage:

Code snippet:
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((hostname,port))
bs = bufsock.bufsock(sock)
version = bs.readto(n)
print version
<<less
Download (0.002MB)
Added: 2006-05-02 License: GPL (GNU General Public License) Price:
1270 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5