communicating
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 307
SAP R/3 Communications Suite 0.9 Beta1
SAP R/3 Communications Suite allows SAP R/3 servers to communicate with external devices such as fax and GSM modems. more>>
SAP R/3 Communications Suite allows SAP R/3 servers to communicate with external devices such as fax and GSM modems by sending and receiving a fax or SMS.
SAP R/3 Communications Suite provides an easy configuration through a Web interface and a JMX console.
<<lessSAP R/3 Communications Suite provides an easy configuration through a Web interface and a JMX console.
Download (28.6MB)
Added: 2006-07-28 License: GPL (GNU General Public License) Price:
702 downloads
Clickatell SMS API 1.5
Clickatell SMS API provides a tool for sending SMS messages using the Clickatell gateway. more>>
Clickatell SMS API provides a tool for sending SMS messages using the Clickatell gateway.
It provides support to authenticate to this service and query for the current account balance.
This class use the fopen or CURL module to communicate with the gateway via HTTP/S.
Enhancements:
- Fixed bug in function encode_message (tnx Neil)
<<lessIt provides support to authenticate to this service and query for the current account balance.
This class use the fopen or CURL module to communicate with the gateway via HTTP/S.
Enhancements:
- Fixed bug in function encode_message (tnx Neil)
Download (0.033MB)
Added: 2007-02-15 License: BSD License Price:
996 downloads
Unison 2.13.16
Unison is a file synchronizer. more>>
Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
Unison shares a number of features with tools such as configuration management packages (CVS, PRCS, Subversion, BitKeeper, etc.), distributed filesystems (Coda, etc.), uni-directional mirroring utilities (rsync, etc.), and other synchronizers (Intellisync, Reconcile, etc).
Main features:
- Unison runs on both Windows and many flavors of Unix (Solaris, Linux, OS X, etc.) systems. Moreover, Unison works across platforms, allowing you to synchronize a Windows laptop with a Unix server, for example.
- Unlike simple mirroring or backup utilities, Unison can deal with updates to both replicas of a distributed directory structure. Updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed.
- Unlike a distributed filesystem, Unison is a user-level program: there is no need to modify the kernel or to have superuser privileges on either host.
- Unison works between any pair of machines connected to the internet, communicating over either a direct socket link or tunneling over an encrypted ssh connection. It is careful with network bandwidth, and runs well over slow links such as PPP connections. Transfers of small updates to large files are optimized using a compression protocol similar to rsync.
- Unison is resilient to failure. It is careful to leave the replicas and its own private structures in a sensible state at all times, even in case of abnormal termination or communication failures.
- Unison has a clear and precise specification.
- Unison is free; full source code is available under the GNU Public License.
<<lessUnison shares a number of features with tools such as configuration management packages (CVS, PRCS, Subversion, BitKeeper, etc.), distributed filesystems (Coda, etc.), uni-directional mirroring utilities (rsync, etc.), and other synchronizers (Intellisync, Reconcile, etc).
Main features:
- Unison runs on both Windows and many flavors of Unix (Solaris, Linux, OS X, etc.) systems. Moreover, Unison works across platforms, allowing you to synchronize a Windows laptop with a Unix server, for example.
- Unlike simple mirroring or backup utilities, Unison can deal with updates to both replicas of a distributed directory structure. Updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed.
- Unlike a distributed filesystem, Unison is a user-level program: there is no need to modify the kernel or to have superuser privileges on either host.
- Unison works between any pair of machines connected to the internet, communicating over either a direct socket link or tunneling over an encrypted ssh connection. It is careful with network bandwidth, and runs well over slow links such as PPP connections. Transfers of small updates to large files are optimized using a compression protocol similar to rsync.
- Unison is resilient to failure. It is careful to leave the replicas and its own private structures in a sensible state at all times, even in case of abnormal termination or communication failures.
- Unison has a clear and precise specification.
- Unison is free; full source code is available under the GNU Public License.
Download (0.44MB)
Added: 2005-08-23 License: GPL (GNU General Public License) Price:
897 downloads
Socketpipe 1.8
Socketpipe directly connects the input/output of a remote process with local programs over a TCP/IP socket. more>>
Socketpipe project connects over a TCP/IP socket a remote command specified to a local input generation command and/or a local output processing command.
The input and output of the remote command are appropriately redirected so that the remote commands input will come from the local input generation command and the remote commands output will be sent to the local output processing command.
The remote command is executed on the machine accessed through the login command. The socketpipe executable should be available through the execution path in the remote machine.
The braces used for delimiting the commands and their arguments should be space-separated and can be nested. This feature allows you to setup complex and efficient topologies of distributed communicating processes.
Although the initial socketpipe communication setup is performed through client-server intermediaries such as ssh(1) or rsh(1), the communication channel that socketpipe establishes is a direct socket connection between the local and the remote commands.
Without the use of socketpipe, when piping remote data through ssh(1) or rsh(1), each data block is read at the local end by the respective client, is sent to the remote daemon and written out again to the remote process.
The use of socketpipe removes the inefficiency of the multiple data copies and context switches and can in some cases provide dramatic throughput improvements. On the other hand, the confidentiality and integrity of the data passing through socketpipes data channel is not protected; socketpipe should therefore be used only within a confined LAN environment.
(The authentication process uses the protocol of the underlying login program and is no more or less vulnerable than using the program in isolation; ssh(1) remains secure, rsh(1) continues to be insecure.)
Enhancements:
- This version corrects a bug in the command parsing of the Windows version of socketpipe.
<<lessThe input and output of the remote command are appropriately redirected so that the remote commands input will come from the local input generation command and the remote commands output will be sent to the local output processing command.
The remote command is executed on the machine accessed through the login command. The socketpipe executable should be available through the execution path in the remote machine.
The braces used for delimiting the commands and their arguments should be space-separated and can be nested. This feature allows you to setup complex and efficient topologies of distributed communicating processes.
Although the initial socketpipe communication setup is performed through client-server intermediaries such as ssh(1) or rsh(1), the communication channel that socketpipe establishes is a direct socket connection between the local and the remote commands.
Without the use of socketpipe, when piping remote data through ssh(1) or rsh(1), each data block is read at the local end by the respective client, is sent to the remote daemon and written out again to the remote process.
The use of socketpipe removes the inefficiency of the multiple data copies and context switches and can in some cases provide dramatic throughput improvements. On the other hand, the confidentiality and integrity of the data passing through socketpipes data channel is not protected; socketpipe should therefore be used only within a confined LAN environment.
(The authentication process uses the protocol of the underlying login program and is no more or less vulnerable than using the program in isolation; ssh(1) remains secure, rsh(1) continues to be insecure.)
Enhancements:
- This version corrects a bug in the command parsing of the Windows version of socketpipe.
Download (0.020MB)
Added: 2007-04-01 License: BSD License Price:
936 downloads
SipUnit 0.0.6b
SipUnit provides a class library that allows software developers to create automated unit tests for SIP applications. more>>
SipUnit provides a test environment geared toward unit testing SIP applications. SipUnit project extends the JUnit test framework to incorporate SIP-specific assertions, and it provides a high-level API for performing the SIP operations needed to interact with or invoke a test target.
A test program using the SipUnit API is written in Java and acts as a network element that sends/receives SIP requests and responses. The SipUnit API includes SIP User Agent Client (UAC), User Agent Server (UAS), and basic UAC/UAS Core functionality - the set of processing functions that resides above the SIP transaction and transport layers - for the purpose of interacting with the test target.
SipUnit uses the JAIN-SIP reference implementation as its underlying SIP stack/engine. The primary goal of SipUnit is to abstract the details of SIP messaging/call handling and facilitate free-flowing, sequential test code so that a test target can be exercised quickly and painlessly.
A test program using SipUnit API:
1. Extends SipTestCase
2. Creates SipUnit API objects - SipStack, SipPhone, SipCall, etc.
3. Calls methods on the object(s) to set up and initiate action toward a SIP test target. For example: SipPhone.makeCall("sip:roger@nist.gov", SipResponse.OK, ....) makes a vanilla call to sip:roger@nist.gov and blocks until an OK is received or a timeout occurs. The test target could be any node up to and including the final destination of the INVITE request message.
4. Verifies the results of the action involving the test target using both the SIP-specific assert methods provided by SipUnit and the standard JUnit assert methods. For example: assertHeaderContains(sipCall.getLastReceivedResponse(), "From", "sip:amit@nist.gov"), assertEquals("Unexpected response received", SipResponse.OK, sipCall.getReturnCode()).
Main features:
- A basic set of SIP-specific assert methods - assertHeaderPresent(), assertHeaderContains(), assertBodyPresent(), etc.
- High level API for interacting with a test target.
- Low-level SIP messaging access for interacting with a test target.
- Registration/unregistration and call processing with or without authentication (DIGEST).
- Support for testcase-specified timeouts.
- Support for different routing configurations.
Enhancements:
- Support was added to the SipPhone and SipSession classes for running SipUnit tests from behind a NAT and communicating with a SIP server on the Internet.
- A STUN example test was included.
- An enhancement that allows more flexible multiple SIP stack creation was incorporated.
<<lessA test program using the SipUnit API is written in Java and acts as a network element that sends/receives SIP requests and responses. The SipUnit API includes SIP User Agent Client (UAC), User Agent Server (UAS), and basic UAC/UAS Core functionality - the set of processing functions that resides above the SIP transaction and transport layers - for the purpose of interacting with the test target.
SipUnit uses the JAIN-SIP reference implementation as its underlying SIP stack/engine. The primary goal of SipUnit is to abstract the details of SIP messaging/call handling and facilitate free-flowing, sequential test code so that a test target can be exercised quickly and painlessly.
A test program using SipUnit API:
1. Extends SipTestCase
2. Creates SipUnit API objects - SipStack, SipPhone, SipCall, etc.
3. Calls methods on the object(s) to set up and initiate action toward a SIP test target. For example: SipPhone.makeCall("sip:roger@nist.gov", SipResponse.OK, ....) makes a vanilla call to sip:roger@nist.gov and blocks until an OK is received or a timeout occurs. The test target could be any node up to and including the final destination of the INVITE request message.
4. Verifies the results of the action involving the test target using both the SIP-specific assert methods provided by SipUnit and the standard JUnit assert methods. For example: assertHeaderContains(sipCall.getLastReceivedResponse(), "From", "sip:amit@nist.gov"), assertEquals("Unexpected response received", SipResponse.OK, sipCall.getReturnCode()).
Main features:
- A basic set of SIP-specific assert methods - assertHeaderPresent(), assertHeaderContains(), assertBodyPresent(), etc.
- High level API for interacting with a test target.
- Low-level SIP messaging access for interacting with a test target.
- Registration/unregistration and call processing with or without authentication (DIGEST).
- Support for testcase-specified timeouts.
- Support for different routing configurations.
Enhancements:
- Support was added to the SipPhone and SipSession classes for running SipUnit tests from behind a NAT and communicating with a SIP server on the Internet.
- A STUN example test was included.
- An enhancement that allows more flexible multiple SIP stack creation was incorporated.
Download (5.6MB)
Added: 2006-12-11 License: The Apache License 2.0 Price:
1052 downloads
QuickFIX 1.12.4
QuickFIX is a C++, Java, and .NET FIX engine, helping financial institutions easily integrate with each other. more>>
QuickFIX is a full-featured open source FIX engine, currently compatible with the FIX 4.0-4.4 spec. QuickFIX program runs on Windows, Linux, Solaris, FreeBSD and Mac OS X. APIs are available for C++, Java, .NET, and Python.
The Financial Information eXchange (FIX) Protocol is a "language" which defines specific kinds of electronic messages for communicating securities transactions between two parties.
FIX defines only the format of the messages and the session-level interaction between two applications. More information on FIX can be found at the FIX protocol web site.
Enhancements:
- ODBC escape values for times used in time values so they work with any database.
- Session will not throw an exception when sending a message without a MsgType.
- Added NetworkStatusReport and NetworkStatusRequest messages fix FIX 4.4.
- .NET SessionID object can be constructed with field objects.
- getSessions implemented in SessionSettings object in .NET.
- Fixed repeating groups in ruby which where incorrectly instantiating arrays
- indicating sorting order.
- Fixed crashes in .NET due to logger being called after going out of scope.
- Fixed crashes in gcc due to different allocators being used in user application
- vs QuickFIX library by the FieldMap.
- Disposing an initiator or acceptor in .NET will also call stop.
<<lessThe Financial Information eXchange (FIX) Protocol is a "language" which defines specific kinds of electronic messages for communicating securities transactions between two parties.
FIX defines only the format of the messages and the session-level interaction between two applications. More information on FIX can be found at the FIX protocol web site.
Enhancements:
- ODBC escape values for times used in time values so they work with any database.
- Session will not throw an exception when sending a message without a MsgType.
- Added NetworkStatusReport and NetworkStatusRequest messages fix FIX 4.4.
- .NET SessionID object can be constructed with field objects.
- getSessions implemented in SessionSettings object in .NET.
- Fixed repeating groups in ruby which where incorrectly instantiating arrays
- indicating sorting order.
- Fixed crashes in .NET due to logger being called after going out of scope.
- Fixed crashes in gcc due to different allocators being used in user application
- vs QuickFIX library by the FieldMap.
- Disposing an initiator or acceptor in .NET will also call stop.
Download (6.94MB)
Added: 2006-09-14 License: The Apache License Price:
1139 downloads
QuickFIX/J 1.0.1
QuickFIX is a full-featured open source FIX engine, currently compatible with the FIX 4.0-4.4 spec. more>>
QuickFIX is a full-featured open source FIX engine, currently compatible with the FIX 4.0-4.4 spec.
QuickFIX/J runs on Windows, Solaris, Linux, FreeBSD and Mac OS X. APIs are available for C++, Java, .NET, and Python.
The Financial Information eXchange (FIX) Protocol is a "language" which defines specific kinds of electronic messages for communicating securities transactions between two parties.
FIX defines only the format of the messages and the session-level interaction between two applications.
Enhancements:
- This announcement covers both the 1.0.0 release and 1.0.1 maintenance release.
- Features include updated compatibility with QuickFIX C++/JNI, an update to MINA 0.9.x for networking, support for variables in configuration files, performance optimizations in the file message storage plugin, and new file-based message logging options.
- It also includes several bugfixes.
<<lessQuickFIX/J runs on Windows, Solaris, Linux, FreeBSD and Mac OS X. APIs are available for C++, Java, .NET, and Python.
The Financial Information eXchange (FIX) Protocol is a "language" which defines specific kinds of electronic messages for communicating securities transactions between two parties.
FIX defines only the format of the messages and the session-level interaction between two applications.
Enhancements:
- This announcement covers both the 1.0.0 release and 1.0.1 maintenance release.
- Features include updated compatibility with QuickFIX C++/JNI, an update to MINA 0.9.x for networking, support for variables in configuration files, performance optimizations in the file message storage plugin, and new file-based message logging options.
- It also includes several bugfixes.
Download (9.5MB)
Added: 2006-06-18 License: The Apache License Price:
1228 downloads
OpenThought 0.71
OpenThought is a Web Application Environment which doesnt require page reloads. more>>
OpenThought is a Web Application Environment which doesnt require page reloads.
SYNOPSIS
use OpenThought();
my $o = OpenThought->new( $OP );
my $field_data;
$field_data->{myTextBox} = "Text Box Data";
$field_data->{myCheckbox} = "true";
$field_data->{myRadioBtn} = "RadioBtnValue";
$field_data->{mySelectList} = [
[ "text1", "value1" ],
[ "text2", "value2" ],
[ "text3", "value3" ],
];
my $html_data;
$html_data->{id_tagname} = "New HTML Code";
print $o->serialize({
fields => $field_data,
html => $html_data,
focus => "myTextBox",
javascript => $javascript_code
});
OpenThought is a powerful and flexible web application environment. OpenThought applications are different from other web applications in that all communication between the browser and the server is performed in the background. This gives a browser the ability to receive data from the server without ever reloading the currently loaded document. Data received can be displayed automatically on the existing page, can access JavaScript functions and variables, and can load new pages. Additionally, OpenThought completely manages all of your session data for you. These features give the look and feel of a full-blown application instead of just an ordinary Web page.
OpenThought is extended with OpenPlugin, also described briefly in this documentation.
OpenThought works by communicating with the server through the use of a hidden frame. Now some may say "Frames? Youre using frames??" No need to fret though, the frame is completely hidden. There is no visible way for your users to tell that they are using an application which makes use of frames.
This hidden frame performs all communication with the server for you, and allows your browser to talk to the server without reloading the content currently visible in your web browser. This is how OpenThought can update portions of the screen, and how the server can run JavaScript code in the browser, all without reloading the page.
Any time an OpenThought application is loaded, a unique session id is generated for that user. Each time communication takes place between the browser and server, OpenThought is careful to make sure that this session id is sent along with the request. There is nothing you need to do to make this work, it is done for you. When youre programming your application, you can always expect a session id to be sent to the server, and you can easily retrieve it along with the rest of the data sent by the browser.
In addition to being able to update portions of a screen, you can also load new pages within the content frame. If you choose to load new pages, your session continues to be maintained.
OpenThought gives you an easy way of tieing together multiple web pages, and allows you to build web applications which act like "real" applications. When an application is required, some people would decide to build it in Tk, Visual Basic, Gtk, or any number of other systems which offer a visual interface. But then, your application is either not available on the web, or you have to create a seperate web interface to interact with the backend.
Have you ever tried to create a web interface which minics the interface of a non-web based application? The web based application no longer looks or acts like your other interface, it acts like an ordinary webpage. It probably uses several screens to get the same amount of content that your application offered in one.
By not ever needing to reload the page, OpenThought offers this application look and feel thats been missing from the web. This allows you to create just one interface, for both LAN and web use.
<<lessSYNOPSIS
use OpenThought();
my $o = OpenThought->new( $OP );
my $field_data;
$field_data->{myTextBox} = "Text Box Data";
$field_data->{myCheckbox} = "true";
$field_data->{myRadioBtn} = "RadioBtnValue";
$field_data->{mySelectList} = [
[ "text1", "value1" ],
[ "text2", "value2" ],
[ "text3", "value3" ],
];
my $html_data;
$html_data->{id_tagname} = "New HTML Code";
print $o->serialize({
fields => $field_data,
html => $html_data,
focus => "myTextBox",
javascript => $javascript_code
});
OpenThought is a powerful and flexible web application environment. OpenThought applications are different from other web applications in that all communication between the browser and the server is performed in the background. This gives a browser the ability to receive data from the server without ever reloading the currently loaded document. Data received can be displayed automatically on the existing page, can access JavaScript functions and variables, and can load new pages. Additionally, OpenThought completely manages all of your session data for you. These features give the look and feel of a full-blown application instead of just an ordinary Web page.
OpenThought is extended with OpenPlugin, also described briefly in this documentation.
OpenThought works by communicating with the server through the use of a hidden frame. Now some may say "Frames? Youre using frames??" No need to fret though, the frame is completely hidden. There is no visible way for your users to tell that they are using an application which makes use of frames.
This hidden frame performs all communication with the server for you, and allows your browser to talk to the server without reloading the content currently visible in your web browser. This is how OpenThought can update portions of the screen, and how the server can run JavaScript code in the browser, all without reloading the page.
Any time an OpenThought application is loaded, a unique session id is generated for that user. Each time communication takes place between the browser and server, OpenThought is careful to make sure that this session id is sent along with the request. There is nothing you need to do to make this work, it is done for you. When youre programming your application, you can always expect a session id to be sent to the server, and you can easily retrieve it along with the rest of the data sent by the browser.
In addition to being able to update portions of a screen, you can also load new pages within the content frame. If you choose to load new pages, your session continues to be maintained.
OpenThought gives you an easy way of tieing together multiple web pages, and allows you to build web applications which act like "real" applications. When an application is required, some people would decide to build it in Tk, Visual Basic, Gtk, or any number of other systems which offer a visual interface. But then, your application is either not available on the web, or you have to create a seperate web interface to interact with the backend.
Have you ever tried to create a web interface which minics the interface of a non-web based application? The web based application no longer looks or acts like your other interface, it acts like an ordinary webpage. It probably uses several screens to get the same amount of content that your application offered in one.
By not ever needing to reload the page, OpenThought offers this application look and feel thats been missing from the web. This allows you to create just one interface, for both LAN and web use.
Download (0.076MB)
Added: 2006-07-18 License: Perl Artistic License Price:
1195 downloads
Anca 0.9.1
Anca is a grand new H.323 client for Qt 3.x. more>>
Anca is a H.323 client for Qt 3.x. It means that it allows communicating (voice/video) with other similar clients over internet, eg. with Gnomemeeting, OhPhone, NetMeeting etc.
Its design is minimalist and clean; has a support for embedded devices. It is very modular.
Main features:
Core:
- Audio/video communication via H.323 v. X
- Embedded devices support (framebuffer support, efficient design etc.)
- Call diversions - server-side forwarding
- Plugin system
Plugins:
- Addressbook with LDAP support
- DTML tones
- OSS sound
- V4L video
- Video preview
Enhancements:
- Sound and VideoIn plugins were changed to be compiled with the latest PWLib and OpenH323 FIXED: Video grabber failure resulted in crash
<<lessIts design is minimalist and clean; has a support for embedded devices. It is very modular.
Main features:
Core:
- Audio/video communication via H.323 v. X
- Embedded devices support (framebuffer support, efficient design etc.)
- Call diversions - server-side forwarding
- Plugin system
Plugins:
- Addressbook with LDAP support
- DTML tones
- OSS sound
- V4L video
- Video preview
Enhancements:
- Sound and VideoIn plugins were changed to be compiled with the latest PWLib and OpenH323 FIXED: Video grabber failure resulted in crash
Download (1.1MB)
Added: 2005-06-03 License: GPL (GNU General Public License) Price:
1603 downloads
SimMon 2.4
SimMon is a cross platform Java and Web based system monitoring tool. more>>
SimMon is a cross platform monitoring tool which runs on Solaris,Linux,Mac OS X and Windows based systems. In fact, it runs on all systems which are compatible with Java 1.4.x or higher.
Monitoring is done through the execution of existing monitoring scripts or even existing command line utilities and analysing their result (regex/returncode). The default monitoring scripts are Visual Basic Scripting based for Windows and Perl based for Solaris/Linux.
You can even add/develop your own monitoring scripts to the SimMon Agent System. Even SNMP (v1) devices can be monitored by the integrated SimMon SNMP Scheduler.
The agents run autonomous on the monitored systems which mean that there is no need of a permanent connection between the SimMon agent and the GUI or other components of the SimMon architecture.
Actions can be taken if defined in a monitoring task. This can range from communicating problems via mail or even by taking administrative actions like restarting a service or process.
Wizard dialogs are included to ease up the configuration of your SimMon environment. Almost the complete configuration of the SimMon takes place in XML so you can easily copy,alter configurations directly in the configuration files.
The free version of SimMon is not a demo version, but a fully functional version. The Pro version delivers more functionalities to the subscribed users and uses the same technology as the freeware version.
<<lessMonitoring is done through the execution of existing monitoring scripts or even existing command line utilities and analysing their result (regex/returncode). The default monitoring scripts are Visual Basic Scripting based for Windows and Perl based for Solaris/Linux.
You can even add/develop your own monitoring scripts to the SimMon Agent System. Even SNMP (v1) devices can be monitored by the integrated SimMon SNMP Scheduler.
The agents run autonomous on the monitored systems which mean that there is no need of a permanent connection between the SimMon agent and the GUI or other components of the SimMon architecture.
Actions can be taken if defined in a monitoring task. This can range from communicating problems via mail or even by taking administrative actions like restarting a service or process.
Wizard dialogs are included to ease up the configuration of your SimMon environment. Almost the complete configuration of the SimMon takes place in XML so you can easily copy,alter configurations directly in the configuration files.
The free version of SimMon is not a demo version, but a fully functional version. The Pro version delivers more functionalities to the subscribed users and uses the same technology as the freeware version.
Download (5.87MB)
Added: 2005-04-07 License: Freely Distributable Price:
916 downloads
Volity::Seat 0.6.5
Volity::Seat is a Volity seat, containing some players. more>>
Volity::Seat is a Volity seat, containing some players.
SYNOPSIS
# From within a Volity::Game subclasss code:
my @seats = $self->seats;
# Or, given a Volity::Player object:
my $seat = $player->seat;
# Now tell the seat they just picked up the Three of Clubs:
$seat->call_ui_function("draw_card", "3C")
An objects of this class represents a seat at a Volity table. Volity players who are actually playing a game sit in seats, and referees address game-specific RPC calls to seats, not to individual players. See the main Volity documentation for more information about the seat concept: http://www.volity.org/wiki/index.cgi?action=browse&id=Seats
USAGE
As a game programmer, you need never create, modify, or destroy these objects yourself; that is all handled for you by the other objects that make up a Frivolity-run table, particularly the referee (see Volity::Referee). However, several methods of Volity::Game, the module you subclass to create your own Perl-based Volity game, will return objects of this class. Several crucial functions of communicating with a games players involve calling methods on these objects, including the all-important call_ui_function method (described below).
Your Volity::Game subclass must define some variables that assist the referee in seat creation, particularly the seat_ids and required_seat_ids class variables. If you wish to extend this class for your game, you can speficy a Volity::Seat subclass to use through Volity::Games seat_class method. All these are described in detail within Volity::Game.
<<lessSYNOPSIS
# From within a Volity::Game subclasss code:
my @seats = $self->seats;
# Or, given a Volity::Player object:
my $seat = $player->seat;
# Now tell the seat they just picked up the Three of Clubs:
$seat->call_ui_function("draw_card", "3C")
An objects of this class represents a seat at a Volity table. Volity players who are actually playing a game sit in seats, and referees address game-specific RPC calls to seats, not to individual players. See the main Volity documentation for more information about the seat concept: http://www.volity.org/wiki/index.cgi?action=browse&id=Seats
USAGE
As a game programmer, you need never create, modify, or destroy these objects yourself; that is all handled for you by the other objects that make up a Frivolity-run table, particularly the referee (see Volity::Referee). However, several methods of Volity::Game, the module you subclass to create your own Perl-based Volity game, will return objects of this class. Several crucial functions of communicating with a games players involve calling methods on these objects, including the all-important call_ui_function method (described below).
Your Volity::Game subclass must define some variables that assist the referee in seat creation, particularly the seat_ids and required_seat_ids class variables. If you wish to extend this class for your game, you can speficy a Volity::Seat subclass to use through Volity::Games seat_class method. All these are described in detail within Volity::Game.
Download (0.10MB)
Added: 2007-01-05 License: Perl Artistic License Price:
1022 downloads
codstats.tcl 1.1.2
codstats.tcl is a eggdrop tcl script witch communicates with your Call Of Duty server via RCON commands. more>>
codstats.tcl is a eggdrop tcl script witch communicates with your Call Of Duty server via RCON commands and reads responses from the servers log file. codstats.tcl script has several different modules you can enable:
- codspeak module: if you turn this on youll see the users ingame speech on your IRC channel and the playersll see the messages coming from the IRC channel. COD & mIRC color codes will be converted correctly.
- codstats module: player statistics (frag count, toplist, killratio, weapon usage, etc.)
- codevents module: displays server joins/parts on the IRC channel, periodically announces the number of players on the server (if there are players). Period time can be adjusted with CODANNOUNCETIME setting.
So this script is ideal for your COD clans IRC channel using with your private clan server.
Available channel commands for channel/bot operators: (you can change these bindings at the end of this script)
!cstatus (!cs) - prints out server status
!rcon - sends an rcon command (notice: result of command wont be displayed on the channel!) - only for channel/bot operators
!cseen [nick] - prints out the time when the given user was last seen on the cod server
!ctimespent [nick]: prints out the length of time the user has spent playing cod on the server
!cstat [nick] - prints the given nicks stats
!ftopten (!ftop10, !ctopten, !ctop10) - prints the frag top10
!ktopten (!ktop10) - prints the timeskilled top10
!ftop20 (!ctop20) - prints the frag top20
!ktop20 - prints the timeskilled top20
!weapon [nick] - prints nicks favourite weapons used for killing
!target [nick] - prints nicks favourite deadly targets toplist
!hit [nick] - prints the points where nicks got the most deadly hits
!fraglist - displays the servers current fraglist
!savedb - saves database file - only for channel/bot owners
!loaddb - loads database file - only for channel/bot owners
!cuserdel [nick] (!cdeluser) - deletes given nick from the database - only for channel/bot owners
!weed [days] - deletes users not seen since given days - only for channel/bot owners
!csum [to] [from] - adds froms stats to tos stats and deletes from - only for channel/bot owners
Ive made a tcl script for starting/stopping our COD and Teamspeak server using simple commands on our IRC channel. This script called codmngr.tcl You can download it above at the Download section.
Installation:
1. Download UDP support for TCL from here: http://sourceforge.net/projects/tcludp
This is needed because TCL doesnt have UDP protocol support and the script uses UDP for communicating with the COD server.
2. Extract it, run ./configure, make, make install
If configure displays an error message, make sure you have at least tcl8.4-dev (or similar installed.
3. Edit the codstats.tcl file at the SETTINGS section, set your cod host, port and rcon password, select which modules you want to enable, your IRC channel and edit other settings
4. Copy the tcl to your eggdrops scripts directory
5. Edit your eggdrops config and append this line to the end of the file: source scripts/codstats.tcl
6. Rehash your bots config file (.rehash)
Enhancements:
- The backup file now will be saved only at 5 oclock in the morning.
- Weapons named "none" wont be stored anymore.
- A known issues section has been added to codstats.tcl.
- Sometimes empty names were stored, and because of this frags were not saved; this has been fixed.
<<less- codspeak module: if you turn this on youll see the users ingame speech on your IRC channel and the playersll see the messages coming from the IRC channel. COD & mIRC color codes will be converted correctly.
- codstats module: player statistics (frag count, toplist, killratio, weapon usage, etc.)
- codevents module: displays server joins/parts on the IRC channel, periodically announces the number of players on the server (if there are players). Period time can be adjusted with CODANNOUNCETIME setting.
So this script is ideal for your COD clans IRC channel using with your private clan server.
Available channel commands for channel/bot operators: (you can change these bindings at the end of this script)
!cstatus (!cs) - prints out server status
!rcon - sends an rcon command (notice: result of command wont be displayed on the channel!) - only for channel/bot operators
!cseen [nick] - prints out the time when the given user was last seen on the cod server
!ctimespent [nick]: prints out the length of time the user has spent playing cod on the server
!cstat [nick] - prints the given nicks stats
!ftopten (!ftop10, !ctopten, !ctop10) - prints the frag top10
!ktopten (!ktop10) - prints the timeskilled top10
!ftop20 (!ctop20) - prints the frag top20
!ktop20 - prints the timeskilled top20
!weapon [nick] - prints nicks favourite weapons used for killing
!target [nick] - prints nicks favourite deadly targets toplist
!hit [nick] - prints the points where nicks got the most deadly hits
!fraglist - displays the servers current fraglist
!savedb - saves database file - only for channel/bot owners
!loaddb - loads database file - only for channel/bot owners
!cuserdel [nick] (!cdeluser) - deletes given nick from the database - only for channel/bot owners
!weed [days] - deletes users not seen since given days - only for channel/bot owners
!csum [to] [from] - adds froms stats to tos stats and deletes from - only for channel/bot owners
Ive made a tcl script for starting/stopping our COD and Teamspeak server using simple commands on our IRC channel. This script called codmngr.tcl You can download it above at the Download section.
Installation:
1. Download UDP support for TCL from here: http://sourceforge.net/projects/tcludp
This is needed because TCL doesnt have UDP protocol support and the script uses UDP for communicating with the COD server.
2. Extract it, run ./configure, make, make install
If configure displays an error message, make sure you have at least tcl8.4-dev (or similar installed.
3. Edit the codstats.tcl file at the SETTINGS section, set your cod host, port and rcon password, select which modules you want to enable, your IRC channel and edit other settings
4. Copy the tcl to your eggdrops scripts directory
5. Edit your eggdrops config and append this line to the end of the file: source scripts/codstats.tcl
6. Rehash your bots config file (.rehash)
Enhancements:
- The backup file now will be saved only at 5 oclock in the morning.
- Weapons named "none" wont be stored anymore.
- A known issues section has been added to codstats.tcl.
- Sometimes empty names were stored, and because of this frags were not saved; this has been fixed.
Download (0.011MB)
Added: 2006-10-19 License: GPL (GNU General Public License) Price:
1116 downloads
Custom Eclipse Builder 0.1
The Custom Eclipse Builder is a lightweight Ant-based project to build a company/personal customized Eclipse distribution. more>>
Custom Eclipse Builder is a lightweight Ant-based project to build a company and personal customized Eclipse distribution including company and personal relevant plugins, preferences and settings.
The modern software development process becomes more and more distributed characted. Now, a usual project is not a one-men work more, but a collective work of bunch of people communicating through network. Therefore, its very important that each involved developer stands to the rules and guidelines applied for the project.
There are many tools that makes the development process easy. One of these tools that increases in popularity more and more is Eclipse. The number of companies, organizations or project teams using Eclipse grows permanently. Typically, in such a company a developer takes itself care of downloading and configuring Eclipse and all kinds of Plugins.
Therefore, the more developers using Eclipse within of organization the more different versions, configurations and settings do exist. When a group of developers is working for a project and sharing the projects resources (and this is the typical case) using of different tools and versions may lead to any kinds of conflicts (unfortunately this is the typical case too).
The Custom Eclipse Builder is a very easy way to solve all these problems. After you have installed and configured Builder you can build your own Eclipse distribution each time you wish (e.g. by scheduling a cron job) in just a few minutes. The Builder will download all desired Eclipse- and plugins distributions full automatically.
There is no need to check a new plugins version you wish to include in the distribution is realised. The Custom Eclipse Builder takes care of plugins version management. Once installed and configured you can use Builder over a couple of months without any modifications.
Enhancements:
- This release fixes some minor bugs and supports building distributions based on Eclipse 3.2M1, 3.2M2, and 3.2M3.
<<lessThe modern software development process becomes more and more distributed characted. Now, a usual project is not a one-men work more, but a collective work of bunch of people communicating through network. Therefore, its very important that each involved developer stands to the rules and guidelines applied for the project.
There are many tools that makes the development process easy. One of these tools that increases in popularity more and more is Eclipse. The number of companies, organizations or project teams using Eclipse grows permanently. Typically, in such a company a developer takes itself care of downloading and configuring Eclipse and all kinds of Plugins.
Therefore, the more developers using Eclipse within of organization the more different versions, configurations and settings do exist. When a group of developers is working for a project and sharing the projects resources (and this is the typical case) using of different tools and versions may lead to any kinds of conflicts (unfortunately this is the typical case too).
The Custom Eclipse Builder is a very easy way to solve all these problems. After you have installed and configured Builder you can build your own Eclipse distribution each time you wish (e.g. by scheduling a cron job) in just a few minutes. The Builder will download all desired Eclipse- and plugins distributions full automatically.
There is no need to check a new plugins version you wish to include in the distribution is realised. The Custom Eclipse Builder takes care of plugins version management. Once installed and configured you can use Builder over a couple of months without any modifications.
Enhancements:
- This release fixes some minor bugs and supports building distributions based on Eclipse 3.2M1, 3.2M2, and 3.2M3.
Download (1.2MB)
Added: 2005-11-27 License: GPL (GNU General Public License) Price:
1426 downloads
Pandorabots Chat Bot Interface 1.0
Pandorabots Chat Bot Interface is a learning tool for implementing AJAX to communicate between the browser and a server. more>>
Pandorabots Chat Bot Interface project is a learning tool for implementing AJAX to communicate between the browser and a server. The chat bot interface communicates via XML with a free chat bot you create and host at pandorabots.com. The client script controlls a div that records your ongoing conversation. The final product is an embedded chat bot in your Web sit
An AI chat bot is nothing more than a computer program which has been trained to interact with humans using common communication languages. Some have the ability to learn on the fly, others have a "trainer" that tells them what to say for keywords, etc.
<<lessAn AI chat bot is nothing more than a computer program which has been trained to interact with humans using common communication languages. Some have the ability to learn on the fly, others have a "trainer" that tells them what to say for keywords, etc.
Download (MB)
Added: 2007-03-14 License: GPL (GNU General Public License) Price:
972 downloads
NAT Check 1
Check Your Network Address Translator for Compatibility with Peer-to-Peer Protocols. more>>
Check Your Network Address Translator for Compatibility with Peer-to-Peer Protocols.
If you are accessing the Internet from behind a Network Address Translator (NAT) of some kind, I would appreciate your help in surveying the behavior of different NATs, in terms of how and whether they support a certain technique for enabling peer-to-peer communication between NATted hosts (particularly when both endpoints are behind NATs). Down, you can understand what NAT is.
Suppose there are three communicating hosts: A, B, and C. Host A is a "well-known" Internet server with a permanent IP address, which acts as an "introducer" for the other two nodes. (For example, Host A might be a well-known ultrapeer or a game catalog server of some kind.) Host B, using Host As "introduction" services, would like to establish a direct peer-to-peer connection with host C. Both B and C, however, are behind (probably different) network address/port translators, and neither of them has exclusive use of any public IP address.
To initiate a peer-to-peer connection with host C, host B first sends A a message requesting an "introduction" to host C. A sends B a reply message containing Cs IP address and UDP port number as reported by host C, in addition to Cs IP address and UDP port number as observed by A. (If C is behind a NAT, then these two address/port combinations will be different.) At the same time, host A sends host C a message containing Bs IP address and UDP port numbers - again, both the ones reported by B and the ones observed by A, which will be different if B is behind a NAT.
Now B and C each know that they want to initiate a connection with each other, and they know each others public (NATted) as well as original IP addresses and UDP port numbers. Both B and C now start attempting to send UDP messages directly to each other, at each of the available addresses. If B and C happen to be behind the same NAT, then they will be able to communicate with each other directly using their "originally reported" IP addresses and UDP port numbers.
In the more common case where B and C are behind different NATs, the "originally reported" addresses will be useless because they will both be private IP addresses in different addressing domains. Instead, the IP address/UDP port combinations observed by A can be used in this case to establish direct communication. Although Bs NAT will initially filter out any UDP packets arriving from Cs public (NATted) UDP port directed at Bs public port, the first UDP message B sends to C will cause Bs NAT to open up a new UDP session keyed on Cs public port, allowing future incoming traffic from C to pass through the NAT to B. Similarly, the first few messages from B to C may be filtered out by Cs NAT, but will be able to start passing through the firewall as soon as Cs first message to B causes Cs NAT to open up a new session. In this way, each NAT is tricked into thinking that its respective internal host is the "initiator" of this new session, when in fact the session is fully symmetrical and was initiated (with As help) simultaneously in each direction.
Required NAT Behavior
There is one important requirement that the NATs must satisfy in order for this technique to work: the NATs must be designed so that they assign only one (public IP address, public UDP port) pair to each (internal IP address, internal UDP port) combination, rather than allocating and assigning a new public UDP port for each new UDP session. Recall that a "session" in Internet terminology is defined by the IP addresses and port numbers of both communicating endpoints, so host Bs communication with host A is considered to be one session while host Bs communication with host C is a different session. If Bs NAT, for example, assigns one public UDP port for Bs communication with A, and then assigns B a different public UDP port for the new session B tries to open up with C, then the above technique for peer-to-peer communication will not work because Cs messages to B will be directed to the wrong UDP port.
RFC 3022 explicitly allows and suggests that NATs behave in the former, "desirable" fashion, by maintaining a single (public IP, public port) mapping for a given (internal IP, internal port) combination independent of the number of active sessions involving this mapping. This behavior is not only good for compatibility with UDP applications, but it also helps to conserve the NATs scarce pool of public port numbers. Maintaining a consistent public port mapping does not adversely affect security in any way, either, because incoming traffic can still be filtered on a per-session basis regardless of how addresses are translated. There in fact appears to be no good reason not to implement the desirable behavior in a NAT, except perhaps for the implementation simplicity of naively allocating a new public port for every new session. Unfortunately, RFC 3022 does not require NATs to implement the desirable behavior, which has led me to wonder just how many real NATs actually do, and hence this page.
What NAT Check Does
The program natcheck.c is basically just a program that "pings" a well-known UDP port at two different servers that are publically accessible on the Internet. Both of these servers run the program natserver.c, with the command-line arguments "1" and "2" respectively. In addition, there a third "conspiring" server runs natserver with the command-line argument "3". Whenever each of the first two servers receives a UDP request, it not only sends a reply directly to the sender of that request, but also sends a message to the third server, which in turn "bounces" the reply back to the original client. The effect is that the client will receive not only solicited "ping" replies from the server the request was directed to, but also "unsolicited" replies from the third server.
To determine if the network address translator in use is implementing the desirable behavior of maintaining a single (public IP address, public port) mapping for a given (client IP address, client port), the client program natcheck.c basically just initiates a sequence of simultaneous pings to the first two servers (in case some of the requests or replies are lost in transit) and checks that the clients address and UDP port as reported by both servers is the same. If the NAT naively allocates a new public port for each new session, then the source port as reported by the two servers will be different, and its time to upgrade your NAT.
The replies echoed from the third server are used only to check whether the NAT properly filters out unsolicited incoming traffic on a per-session basis. Since the client never sends any messages to the third server, if the NAT is properly implementing firewall functionality, the client should never see the third servers echoed replies even after opening up active communication sessions with the first two servers.
Enhancements:
- The NAT Check client no longer attempts to guess whether you have Basic NAT or Network Address/Port Translation (NAPT). It turns to be quite difficult to test for this property reliably, because many NAPTs attempt to bind a private UDP port to a public port with the same port number if that port number is available, causing NAT Check to falsely report Basic NAT. The only way to test for this property reliably would be to run NAT Check on at least two client machines simultaneously, and since this property isnt terribly important to P2P apps its just not worth the trouble.
- The NAT Check client now tests for one additional NAT feature, which I call loopback translation. If a NAT supports loopback translation, it means that a host on the private network behind the NAT can communicate with other hosts on the same private network using public (translated) port bindings assigned by the NAT. Most NATs probably do not support this feature yet, but it may become increasingly important in the future where P2P clients may be located behind a common ISP-deployed NAT as well as individual home NATs. More details on loopback translation will appear in the next version of my Internet-Draft, to be released soon.
- The NAT Check client program now has a command-line option, "-v", which turns on verbose messages during the test.
<<lessIf you are accessing the Internet from behind a Network Address Translator (NAT) of some kind, I would appreciate your help in surveying the behavior of different NATs, in terms of how and whether they support a certain technique for enabling peer-to-peer communication between NATted hosts (particularly when both endpoints are behind NATs). Down, you can understand what NAT is.
Suppose there are three communicating hosts: A, B, and C. Host A is a "well-known" Internet server with a permanent IP address, which acts as an "introducer" for the other two nodes. (For example, Host A might be a well-known ultrapeer or a game catalog server of some kind.) Host B, using Host As "introduction" services, would like to establish a direct peer-to-peer connection with host C. Both B and C, however, are behind (probably different) network address/port translators, and neither of them has exclusive use of any public IP address.
To initiate a peer-to-peer connection with host C, host B first sends A a message requesting an "introduction" to host C. A sends B a reply message containing Cs IP address and UDP port number as reported by host C, in addition to Cs IP address and UDP port number as observed by A. (If C is behind a NAT, then these two address/port combinations will be different.) At the same time, host A sends host C a message containing Bs IP address and UDP port numbers - again, both the ones reported by B and the ones observed by A, which will be different if B is behind a NAT.
Now B and C each know that they want to initiate a connection with each other, and they know each others public (NATted) as well as original IP addresses and UDP port numbers. Both B and C now start attempting to send UDP messages directly to each other, at each of the available addresses. If B and C happen to be behind the same NAT, then they will be able to communicate with each other directly using their "originally reported" IP addresses and UDP port numbers.
In the more common case where B and C are behind different NATs, the "originally reported" addresses will be useless because they will both be private IP addresses in different addressing domains. Instead, the IP address/UDP port combinations observed by A can be used in this case to establish direct communication. Although Bs NAT will initially filter out any UDP packets arriving from Cs public (NATted) UDP port directed at Bs public port, the first UDP message B sends to C will cause Bs NAT to open up a new UDP session keyed on Cs public port, allowing future incoming traffic from C to pass through the NAT to B. Similarly, the first few messages from B to C may be filtered out by Cs NAT, but will be able to start passing through the firewall as soon as Cs first message to B causes Cs NAT to open up a new session. In this way, each NAT is tricked into thinking that its respective internal host is the "initiator" of this new session, when in fact the session is fully symmetrical and was initiated (with As help) simultaneously in each direction.
Required NAT Behavior
There is one important requirement that the NATs must satisfy in order for this technique to work: the NATs must be designed so that they assign only one (public IP address, public UDP port) pair to each (internal IP address, internal UDP port) combination, rather than allocating and assigning a new public UDP port for each new UDP session. Recall that a "session" in Internet terminology is defined by the IP addresses and port numbers of both communicating endpoints, so host Bs communication with host A is considered to be one session while host Bs communication with host C is a different session. If Bs NAT, for example, assigns one public UDP port for Bs communication with A, and then assigns B a different public UDP port for the new session B tries to open up with C, then the above technique for peer-to-peer communication will not work because Cs messages to B will be directed to the wrong UDP port.
RFC 3022 explicitly allows and suggests that NATs behave in the former, "desirable" fashion, by maintaining a single (public IP, public port) mapping for a given (internal IP, internal port) combination independent of the number of active sessions involving this mapping. This behavior is not only good for compatibility with UDP applications, but it also helps to conserve the NATs scarce pool of public port numbers. Maintaining a consistent public port mapping does not adversely affect security in any way, either, because incoming traffic can still be filtered on a per-session basis regardless of how addresses are translated. There in fact appears to be no good reason not to implement the desirable behavior in a NAT, except perhaps for the implementation simplicity of naively allocating a new public port for every new session. Unfortunately, RFC 3022 does not require NATs to implement the desirable behavior, which has led me to wonder just how many real NATs actually do, and hence this page.
What NAT Check Does
The program natcheck.c is basically just a program that "pings" a well-known UDP port at two different servers that are publically accessible on the Internet. Both of these servers run the program natserver.c, with the command-line arguments "1" and "2" respectively. In addition, there a third "conspiring" server runs natserver with the command-line argument "3". Whenever each of the first two servers receives a UDP request, it not only sends a reply directly to the sender of that request, but also sends a message to the third server, which in turn "bounces" the reply back to the original client. The effect is that the client will receive not only solicited "ping" replies from the server the request was directed to, but also "unsolicited" replies from the third server.
To determine if the network address translator in use is implementing the desirable behavior of maintaining a single (public IP address, public port) mapping for a given (client IP address, client port), the client program natcheck.c basically just initiates a sequence of simultaneous pings to the first two servers (in case some of the requests or replies are lost in transit) and checks that the clients address and UDP port as reported by both servers is the same. If the NAT naively allocates a new public port for each new session, then the source port as reported by the two servers will be different, and its time to upgrade your NAT.
The replies echoed from the third server are used only to check whether the NAT properly filters out unsolicited incoming traffic on a per-session basis. Since the client never sends any messages to the third server, if the NAT is properly implementing firewall functionality, the client should never see the third servers echoed replies even after opening up active communication sessions with the first two servers.
Enhancements:
- The NAT Check client no longer attempts to guess whether you have Basic NAT or Network Address/Port Translation (NAPT). It turns to be quite difficult to test for this property reliably, because many NAPTs attempt to bind a private UDP port to a public port with the same port number if that port number is available, causing NAT Check to falsely report Basic NAT. The only way to test for this property reliably would be to run NAT Check on at least two client machines simultaneously, and since this property isnt terribly important to P2P apps its just not worth the trouble.
- The NAT Check client now tests for one additional NAT feature, which I call loopback translation. If a NAT supports loopback translation, it means that a host on the private network behind the NAT can communicate with other hosts on the same private network using public (translated) port bindings assigned by the NAT. Most NATs probably do not support this feature yet, but it may become increasingly important in the future where P2P clients may be located behind a common ISP-deployed NAT as well as individual home NATs. More details on loopback translation will appear in the next version of my Internet-Draft, to be released soon.
- The NAT Check client program now has a command-line option, "-v", which turns on verbose messages during the test.
Added: 2006-06-21 License: GPL (GNU General Public License) Price:
737 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above communicating search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed