1-Wire API for .NET Version 4.00
|
Inherits com::dalsemi::onewire::adapter::NetAdapterConstants.
Public Member Functions | |
NetAdapterSim (String execCmd, String logFilename) throws IOException | |
NetAdapterSim (String execCmd, byte[] fakeAddress, String logFile, int listenPort) throws IOException | |
NetAdapterSim (String execCmd, String logFilename, boolean multiThread) throws IOException | |
NetAdapterSim (String execCmd, String logFilename, int listenPort, boolean multiThread) throws IOException | |
NetAdapterSim (String execCmd, String logFilename, ServerSocket serverSock) throws IOException | |
NetAdapterSim (String execCmd, String logFilename, ServerSocket serverSock, boolean multiThread) throws IOException | |
void | setSecret (String secret) |
Sets the secret used for authenticating incoming client connections. | |
void | createMulticastListener () throws IOException,UnknownHostException |
Creates a Multicast Listener to allow NetAdapter clients to discover this NetAdapterSim automatically. | |
void | createMulticastListener (int port) throws IOException,UnknownHostException |
Creates a Multicast Listener to allow NetAdapter clients to discover this NetAdapterSim automatically. | |
void | createMulticastListener (int port, String group) throws IOException,UnknownHostException |
Creates a Multicast Listener to allow NetAdapter clients to discover this NetAdapterSim automatically. | |
void | run () |
Run method for threaded NetAdapterSim. | |
void | handleConnection (Socket sock) throws IOException |
Handles a socket connection. | |
void | stopHost () |
Stops all threads and kills the server socket. | |
Static Public Member Functions | |
static void | main (String[] args) throws Exception |
A Default Main Method, for launching NetAdapterSim getting the default adapter with the OneWireAccessProvider and listening on the default port specified by DEFAULT_PORT. | |
Protected Attributes | |
PrintWriter | logFile |
Log file. | |
String | execCommand |
exec command, command string to start the simulator | |
byte[] | fakeAddress = null |
fake address, returned from all search or getAddress commands | |
ServerSocket | serverSocket = null |
The server socket for listening for connections. | |
byte[] | netAdapterSecret = null |
secret for authentication with the server | |
volatile boolean | hostStopped = false |
boolean flags for stopping the host | |
boolean | singleThreaded = true |
boolean flag to indicate whether or not the host is single or multi-threaded | |
Hashtable | hashHandlers = null |
Map of all Service threads created, only for multi-threaded. | |
MulticastListener | multicastListener = null |
Optional, listens for datagram packets from potential clients. | |
int | timeoutInSeconds = 30 |
timeout for socket receive, in seconds | |
Static Protected Attributes | |
static final Random | rand = new Random() |
random number generator, used to issue challenges to client |
NetAdapterSim is the host (or server) component for a network-based DSPortAdapter. It actually wraps the hardware DSPortAdapter and handles connections from outside sources (NetAdapter) who want to access it.
NetAdapterSim is designed to be run in a thread, waiting for incoming connections. You can run this in the same thread as your main program or you can establish the connections yourself (presumably using some higher level of security) and then call the handleConnection(Socket)
{
Once a NetAdapter is connected with the host, a version check is performed followed by a simple authentication step. The authentication is dependent upon a secret shared between the NetAdapter and the host. Both will use a default value, that each will agree with if you don't provide a secret of your own. To set the secret, add the following line to your onewire.properties file:
Optionally, the secret can be set by calling the setSecret(String)
{
The NetAdapter and NetAdapterSim support multicast broadcasts for automatic discovery of compatible servers on your LAN. To start the multicast listener for this NetAdapterSim, call the createMulticastListener()
method {
For information on creating the client component, see the JavaDocs for the NetAdapter.
NetAdapterSim | ( | String | execCmd, |
String | logFilename | ||
) | throws IOException |
Creates an instance of a NetAdapterSim which wraps the provided adapter. The host listens on the default port as specified by NetAdapterConstants.
Note that the secret used for authentication is the value specified in the onewire.properties file as "NetAdapter.secret=mySecret". To set the secret to another value, use the setSecret(String)
method.
adapter | DSPortAdapter that this NetAdapterSim will proxy commands to. |
IOException | if a network error occurs or the listen socket cannot be created on the specified port. |
NetAdapterSim | ( | String | execCmd, |
byte[] | fakeAddress, | ||
String | logFile, | ||
int | listenPort | ||
) | throws IOException |
Creates a single-threaded instance of a NetAdapterSim which wraps the provided adapter. The host listens on the specified port.
Note that the secret used for authentication is the value specified in the onewire.properties file as "NetAdapter.secret=mySecret". To set the secret to another value, use the setSecret(String)
method.
adapter | DSPortAdapter that this NetAdapterSim will proxy commands to. |
listenPort | the TCP/IP port to listen on for incoming connections |
IOException | if a network error occurs or the listen socket cannot be created on the specified port. |
NetAdapterSim | ( | String | execCmd, |
String | logFilename, | ||
boolean | multiThread | ||
) | throws IOException |
Creates an (optionally multithreaded) instance of a NetAdapterSim which wraps the provided adapter. The listen port is set to the default port as defined in NetAdapterConstants.
Note that the secret used for authentication is the value specified in the onewire.properties file as "NetAdapter.secret=mySecret". To set the secret to another value, use the setSecret(String)
method.
adapter | DSPortAdapter that this NetAdapterSim will proxy commands to. |
multiThread | if true, multiple TCP/IP connections are allowed to interact simulataneously with this adapter. |
IOException | if a network error occurs or the listen socket cannot be created on the specified port. |
NetAdapterSim | ( | String | execCmd, |
String | logFilename, | ||
int | listenPort, | ||
boolean | multiThread | ||
) | throws IOException |
Creates an (optionally multi-threaded) instance of a NetAdapterSim which wraps the provided adapter. The host listens on the specified port.
Note that the secret used for authentication is the value specified in the onewire.properties file as "NetAdapter.secret=mySecret". To set the secret to another value, use the setSecret(String)
method.
adapter | DSPortAdapter that this NetAdapterSim will proxy commands to. |
listenPort | the TCP/IP port to listen on for incoming connections |
multiThread | if true, multiple TCP/IP connections are allowed to interact simulataneously with this adapter. |
IOException | if a network error occurs or the listen socket cannot be created on the specified port. |
NetAdapterSim | ( | String | execCmd, |
String | logFilename, | ||
ServerSocket | serverSock | ||
) | throws IOException |
Creates an instance of a NetAdapterSim which wraps the provided adapter. The host listens on the default port as specified by NetAdapterConstants.
Note that the secret used for authentication is the value specified in the onewire.properties file as "NetAdapter.secret=mySecret". To set the secret to another value, use the setSecret(String)
method.
adapter | DSPortAdapter that this NetAdapterSim will proxy commands to. |
serverSock | the ServerSocket for incoming connections |
IOException | if a network error occurs or the listen socket cannot be created on the specified port. |
NetAdapterSim | ( | String | execCmd, |
String | logFilename, | ||
ServerSocket | serverSock, | ||
boolean | multiThread | ||
) | throws IOException |
Creates an (optionally multi-threaded) instance of a NetAdapterSim which wraps the provided adapter. The host listens on the specified port.
Note that the secret used for authentication is the value specified in the onewire.properties file as "NetAdapter.secret=mySecret". To set the secret to another value, use the setSecret(String)
method.
adapter | DSPortAdapter that this NetAdapterSim will proxy commands to. |
serverSock | the ServerSocket for incoming connections |
multiThread | if true, multiple TCP/IP connections are allowed to interact simulataneously with this adapter. |
IOException | if a network error occurs or the listen socket cannot be created on the specified port. |
void createMulticastListener | ( | ) | throws IOException,UnknownHostException |
Creates a Multicast Listener to allow NetAdapter clients to discover this NetAdapterSim automatically.
Uses defaults for Multicast group and port.
void createMulticastListener | ( | int | port, |
String | group | ||
) | throws IOException,UnknownHostException |
Creates a Multicast Listener to allow NetAdapter clients to discover this NetAdapterSim automatically.
port | The port the Multicast socket will receive packets on |
group | The group the Multicast socket will join |
void createMulticastListener | ( | int | port | ) | throws IOException,UnknownHostException |
Creates a Multicast Listener to allow NetAdapter clients to discover this NetAdapterSim automatically.
Uses default for Multicast group.
port | The port the Multicast socket will receive packets on |
void handleConnection | ( | Socket | sock | ) | throws IOException |
Handles a socket connection.
If single-threaded, the connection is serviced in the current thread. If multi-threaded, a new thread is created for servicing this connection.
void run | ( | ) |
Run method for threaded NetAdapterSim.
Maintains server socket which waits for incoming connections. Whenever a connection is received launches it services the socket or (optionally) launches a new thread for servicing the socket.
void setSecret | ( | String | secret | ) |
Sets the secret used for authenticating incoming client connections.
secret | The shared secret information used for authenticating incoming client connections. |