|
IP*Works! V9 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectipworks.Snpp
public class Snpp
The SNPP Bean is used to send pages through the internet using the SNPP protocol.
It is a client implementation of Simple Network Paging Protocol Version 3 as specified in RFC 1861. Service extensions level 2 are supported intrinsically and the user can access all of level 3 extensions.
SNPP allows for immediate notification of message delivery, gives absolute flexibility over the content sent to the recipient, allows the specification of multiple choice responses, etc.
To send a message the ServerName
, recipient's PagerId
and Message
properties should be filled out (at a minimum). The Send
method is then used to
deliver the message.
The server's response is given in the PITrail
events and by the LastReply
property. Customized commands may be sent using the Command
property.
Optional properties include: CallerId
, ServerPort
and LocalHost
Constructor Summary | |
---|---|
Snpp()
Creates an instance of Snpp Bean. |
|
Snpp(java.lang.String runtimeLicense)
Creates an instance of Snpp Bean with specified run-time license. |
Method Summary | |
---|---|
void |
addSnppEventListener(SnppEventListener l)
|
java.lang.String |
config(java.lang.String configurationString)
Sets or retrieves a configuration setting. |
void |
connect()
Connects to an SNPP server. |
void |
disconnect()
Disconnects from an SNPP gateway. |
void |
doEvents()
Processes events from the internal message queue. |
java.lang.String |
getCallerId()
The identifier of the caller. |
Firewall |
getFirewall()
A set of properties related to firewall access. |
java.lang.String |
getLastReply()
The last reply from the server. |
java.lang.String |
getLocalHost()
The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
java.lang.String |
getMessage()
The message being sent (alphanumeric). |
java.lang.String |
getPagerId()
The identifying number of the pager to send a Message to. |
java.lang.String |
getServerName()
The name or address of the SNPP server. |
int |
getServerPort()
The server port for SNPP (default 444). |
int |
getTimeout()
A timeout for the bean. |
void |
interrupt()
Interrupt the current method. |
boolean |
isConnected()
Shows whether the bean is connected. |
boolean |
isIdle()
The current status of the component. |
void |
removeSnppEventListener(SnppEventListener l)
|
void |
reset()
Resets the server state created during the connection. |
void |
send()
Sends the current message. |
void |
setCallerId(java.lang.String callerId)
The identifier of the caller. |
void |
setCommand(java.lang.String command)
Used to send additional commands directly to the server. |
void |
setConnected(boolean connected)
Shows whether the bean is connected. |
void |
setFirewall(Firewall firewall)
A set of properties related to firewall access. |
void |
setLocalHost(java.lang.String localHost)
The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
void |
setMessage(java.lang.String message)
The message being sent (alphanumeric). |
void |
setPagerId(java.lang.String pagerId)
The identifying number of the pager to send a Message to. |
void |
setServerName(java.lang.String serverName)
The name or address of the SNPP server. |
void |
setServerPort(int serverPort)
The server port for SNPP (default 444). |
void |
setTimeout(int timeout)
A timeout for the bean. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Snpp()
public Snpp(java.lang.String runtimeLicense)
Method Detail |
---|
public java.lang.String getCallerId()
This property contains the identifier of the caller. This may also provide authentication to the SNPP server and may include other authentication information as requested by the server you are connecting to.
public void setCallerId(java.lang.String callerId) throws IPWorksException
This property contains the identifier of the caller. This may also provide authentication to the SNPP server and may include other authentication information as requested by the server you are connecting to.
IPWorksException
public void setCommand(java.lang.String command) throws IPWorksException
This property can be used to send additional commands directly to the server. Check the LastReply
property and/or trap the PITrail
events
coming from the server to get the response.
IPWorksException
public boolean isConnected()
This property is used to determine whether or not the bean is connected to the remote host.
public void setConnected(boolean connected) throws IPWorksException
This property is used to determine whether or not the bean is connected to the remote host.
IPWorksException
public Firewall getFirewall()
This is a Firewall
type property which
contains fields describing the firewall
through which the bean will attempt to connect.
public void setFirewall(Firewall firewall) throws IPWorksException
This is a Firewall
type property which
contains fields describing the firewall
through which the bean will attempt to connect.
IPWorksException
public boolean isIdle()
Idle
will be False if the component is currently busy (communicating
and/or waiting for an answer), and True at all other times.
public java.lang.String getLastReply()
This property indicates the last reply received from the server. It
can be used for informational purposes. The same information
and more can also be retrieved through the PITrail
event.
public java.lang.String getLocalHost()
The LocalHost
property contains the name of the local host
as obtained by the gethostname() system call, or if the
user has assigned an IP address, the value of that address.
In multi-homed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the bean initiate connections (or accept in the case of server beans) only through that interface.
If the bean is connected, the LocalHost
property shows
the IP address of the interface through which the connection
is made in internet dotted format (aaa.bbb.ccc.ddd). In most
cases, this is the address of the local host, except for multi-homed
hosts (machines with more than one IP interface).
NOTE: LocalHost
is not persistent. You must always set it in
code, and never in the property window.
public void setLocalHost(java.lang.String localHost) throws IPWorksException
The LocalHost
property contains the name of the local host
as obtained by the gethostname() system call, or if the
user has assigned an IP address, the value of that address.
In multi-homed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the bean initiate connections (or accept in the case of server beans) only through that interface.
If the bean is connected, the LocalHost
property shows
the IP address of the interface through which the connection
is made in internet dotted format (aaa.bbb.ccc.ddd). In most
cases, this is the address of the local host, except for multi-homed
hosts (machines with more than one IP interface).
NOTE: LocalHost
is not persistent. You must always set it in
code, and never in the property window.
IPWorksException
public java.lang.String getMessage()
This property contains the message being sent (alphanumeric). The message can be a single line or split over multiple lines depending on what the restrictions of the receiving device and gateway. Normally messages are no longer than 100 bytes long.
public void setMessage(java.lang.String message) throws IPWorksException
This property contains the message being sent (alphanumeric). The message can be a single line or split over multiple lines depending on what the restrictions of the receiving device and gateway. Normally messages are no longer than 100 bytes long.
IPWorksException
public java.lang.String getPagerId()
Message
to.
This property contains the identifying number of the pager to send a Message
to. Additional information such as a password or a PIN may be appended to
this property depending upon server requirements.
public void setPagerId(java.lang.String pagerId) throws IPWorksException
Message
to.
This property contains the identifying number of the pager to send a Message
to. Additional information such as a password or a PIN may be appended to
this property depending upon server requirements.
IPWorksException
public java.lang.String getServerName()
This property specifies the IP address (IP number in dotted internet format) or Domain Name of the SNPP server. It is set before a connection is attempted and cannot be changed once a connection is in progress.
If this property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, this; property is set to the corresponding address. If the search is not successful, an error is returned.
public void setServerName(java.lang.String serverName) throws IPWorksException
This property specifies the IP address (IP number in dotted internet format) or Domain Name of the SNPP server. It is set before a connection is attempted and cannot be changed once a connection is in progress.
If this property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, this; property is set to the corresponding address. If the search is not successful, an error is returned.
IPWorksException
public int getServerPort()
This property contains the server port for SNPP (default 444). A valid port number (a value between 1 and 65535) is required for the connection to take place. The property must be set before a connection is attempted and cannot be changed once a connection is established. Any attempt to change this property while connected will fail with an error.
public void setServerPort(int serverPort) throws IPWorksException
This property contains the server port for SNPP (default 444). A valid port number (a value between 1 and 65535) is required for the connection to take place. The property must be set before a connection is attempted and cannot be changed once a connection is established. Any attempt to change this property while connected will fail with an error.
IPWorksException
public int getTimeout()
If the Timeout
property is set to 0, all operations
will run uninterrupted until successful completion or an error condition
is encountered.
If Timeout
is set to a positive value, the bean will
wait for the operation to complete before returning control.
The bean will use DoEvents
to enter an efficient wait loop
during any potential waiting period, making sure that all system events
are processed immediately as they arrive. This ensures that the host
application does not "freeze" and remains responsive.
If Timeout
expires, and the operation is not yet complete,
the bean throws an exception.
Please note that by default, all timeouts are inactivity timeouts ,
i.e. the timeout period is extended by Timeout
seconds when
any amount of data is successfully sent or received.
Optionally, the behavior of the bean may be changed to absolute timeouts , i.e. the bean will wait for a maximum
of Timeout
seconds since the beginning of the operation, without
extending the timeout period during communications.
This behavior is controlled by the AbsoluteTimeout
configuration setting.
The default value for the Timeout
property is 60 (seconds).
public void setTimeout(int timeout) throws IPWorksException
If the Timeout
property is set to 0, all operations
will run uninterrupted until successful completion or an error condition
is encountered.
If Timeout
is set to a positive value, the bean will
wait for the operation to complete before returning control.
The bean will use DoEvents
to enter an efficient wait loop
during any potential waiting period, making sure that all system events
are processed immediately as they arrive. This ensures that the host
application does not "freeze" and remains responsive.
If Timeout
expires, and the operation is not yet complete,
the bean throws an exception.
Please note that by default, all timeouts are inactivity timeouts ,
i.e. the timeout period is extended by Timeout
seconds when
any amount of data is successfully sent or received.
Optionally, the behavior of the bean may be changed to absolute timeouts , i.e. the bean will wait for a maximum
of Timeout
seconds since the beginning of the operation, without
extending the timeout period during communications.
This behavior is controlled by the AbsoluteTimeout
configuration setting.
The default value for the Timeout
property is 60 (seconds).
IPWorksException
public java.lang.String config(java.lang.String configurationString) throws IPWorksException
Config
is a generic method available in every bean.
It is used to set and retrieve configuration settings
for the
bean.
Configuration settings are similar in functionality to properties,
but they are rarely used. In order to avoid "polluting" the property
namespace of the bean, access to these internal properties is provided through the Config
method.
To set a configuration setting named PROPERTY , you must call Config("PROPERTY=VALUE") , where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).
To read (query) the value of a configuration setting, you must call Config("PROPERTY") . The value will be returned as a string.
The bean accepts one or more of the following configuration settings .
Configuration settings are similar in functionality to properties,
but they are rarely used. In order to avoid "polluting" the property
namespace of the bean, access to these internal properties is provided through the Config
method.
FirewallHost
is given, requested connections will be authenticated through the specified firewall
when connecting.If the FirewallHost
setting is set to a Domain Name, a DNS request is initiated. Upon successful termination
of the request, the FirewallHost
setting is set to the corresponding address. If the search is not successful,
an error is returned.
NOTE: This is the same as Host . This setting is provided for use by beans that do not directly expose Firewall properties.
RemoteHost
and RemotePort
are used to tell the SOCKS firewall
in which address and port to listen to. The firewall rules may ignore RemoteHost
, and it is recommended that RemoteHost
be set to empty string in this case.
RemotePort
is the port in which the firewall will listen to. If set to 0, the firewall will select a random port. The
binding (address and port) is provided through the ConnectionStatus
event.
The connection to the firewall is made by calling the Connect
method.
FirewallHost
is specified, the FirewallUser
and FirewallPassword
settings
are used to connect and authenticate to the given firewall. If the authentication fails, the bean throws an exception.NOTE: This is the same as Password . This setting is provided for use by beans that do not directly expose Firewall properties.
FirewallPort
is set automatically when FirewallType
is set to a valid value.NOTE: This is the same as Port . This setting is provided for use by beans that do not directly expose Firewall properties.
FirewallPort
is set to 80.
FirewallPort
is set to 1080.
FirewallPort
is set to 1080.
FirewallHost
is specified, the FirewallUser
and FirewallPassword
settings are used to connect and authenticate to the Firewall. If the authentication fails, the bean throws an exception.NOTE: This is the same as User . This setting is provided for use by beans that do not directly expose Firewall properties.
TCPKeepAlive
will automatically be set to true.
By default the operating system will determine the
time a connection is idle before a TCP keep-alive packet is sent. This system default if this value is not specified here is 2 hours. In many
cases a shorter interval is more useful. Set this value to the desired interval in milliseconds.Note: This value is not applicable in Java.
TCPKeepAlive
will automatically be set to true.
A TCP keep-alive packet will be sent after a period of inactivity as
defined by KeepAliveTime
. If no acknowledgement is received from the remote host the keep-alive packet
will be re-sent. This setting specifies the interval at which the successive keep-alive packets are sent in milliseconds.
This system default if this value is not specified here is 1 second.Note: This value is not applicable in Java or MAC.
LingerTime
is 0 (default), the
system will attempt to send pending data for a connection until the default
IP protocol timeout expires.
In the second scenario, LingerTime
is a positive value, the system will
attempt to send pending data until the specified LingerTime
is reached.
If this attempt fails, then the system will reset the connection.
The default behavior (which is also the default mode for stream sockets) might result in a long delay in closing the connection. Although the bean returns control immediately, the system could hold system resources until all pending data is sent (even after your application closes).
Setting this property to False forces an immediate disconnection. If you know that the other side has received all the data you sent (by a client acknowledgment, for example), setting this property to False might be the appropriate course of action.
LocalHost
setting contains the name of the local host
as obtained by the gethostname() system call, or if the
user has assigned an IP address, the value of that address.In multi-homed hosts (machines with more than one IP interface)
setting LocalHost to the value of an interface will make the
bean initiate connections (or accept in the case of server
beans) only through that interface.
If the bean is connected, the LocalHost
setting shows
the IP address of the interface through which the connection
is made in internet dotted format (aaa.bbb.ccc.ddd). In most
cases, this is the address of the local host, except for multi-homed
hosts (machines with more than one IP interface).
LocalPort
after the connection is established.
LocalPort
cannot be changed once a connection is made.
Any attempt to set this when a connection is active will
generate an error.
This; setting is useful when trying to connect to services that require a trusted port in the client side. An example is the remote shell (rsh) service in UNIX systems.
MaxLineLength
is the size of an internal buffer, which holds received data while waiting for an EOL
string.If an EOL
string is found in the input stream before MaxLineLength
bytes are received, the DataIn
event is fired with the EOL parameter set to True, and the buffer is reset.
If no EOL
is found, and MaxLineLength
bytes are accumulated in the buffer, the DataIn
event is
fired with the EOL parameter set to False, and the buffer is reset.
The minimum value for MaxLineLength
is 256 bytes. The default value is 2048 bytes. The maximum value is 65536 bytes.
KeepAliveTime
and KeepAliveInterval
to
configure the timing of the keep-alive packets.Note: This value is not applicable in Java.
IPWorksException
public void connect() throws IPWorksException
This method connects to the SNPP server. Any number of messages can later be sent
using the Send
method.
Example (Send Page)
SNPPControl.ServerName = "MyServer"
SNPPControl.CallerId = "SenderPagerNumber"
SNPPControl.PagerId = "RecipientPagerNumber"
SNPPControl.Message = "Hello, this is my message!"
SNPPControl.Connect()
SNPPControl.Send()
SNPPControl.Disconnect()
IPWorksException
public void disconnect() throws IPWorksException
This method disconnects from the SNPP gateway.
IPWorksException
public void doEvents() throws IPWorksException
When DoEvents
is called, the bean processes any
available events. If no events are available, it waits for a
preset period of time, and then returns.
IPWorksException
public void interrupt() throws IPWorksException
If there is no method in progress, Interrupt
simply returns, doing nothing.
IPWorksException
public void reset() throws IPWorksException
This method resets the server state created during the connection, so that a new message may be sent to the gateway using the already established connection.
IPWorksException
public void send() throws IPWorksException
This method sends the current message. If the bean is not already connected to the SNPP server then a connection is created. Then the bean attempts to deliver the current message.
Example (Send Page)
SNPPControl.ServerName = "MyServer"
SNPPControl.CallerId = "SenderPagerNumber"
SNPPControl.PagerId = "RecipientPagerNumber"
SNPPControl.Message = "Hello, this is my message!"
SNPPControl.Send()
IPWorksException
public void addSnppEventListener(SnppEventListener l) throws java.util.TooManyListenersException
java.util.TooManyListenersException
public void removeSnppEventListener(SnppEventListener l)
|
IP*Works! V9 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |