You can use Scream! to access the data from a digitizer from anywhere on a local or remote network.
Once a network connection is set up, Scream! can act as a server to provide data to other computers running Scream! or archival programs. To view the currently active Scream! network connections, select Network Control from the Window menu of the main window:

Scream! uses a single local port to communicate with all servers and clients. You can change the number of this port by editing the Port used for all network communications box. You may need to do this if, for example, you want to run several instances of Scream! on the same computer.
The standard mode of transmission in Scream! uses UDP. Blocks of data are transmitted in UDP packets, which are shown in the Block Rx pane. UDP does not guarantee that data will be successfully received. If data is lost and subsequently recovered, a diagnostic message will appear in the Control pane.
Scream! has two methods for serving data. In the first, Scream! keeps a list of clients which need to be provided with data. This method is known as “server push”:

All data received on the server's serial ports will be sent to these clients automatically. On the client side, to begin receiving data, you should simply check the Receive Data box on the My Client tab. No other action is necessary. If your client is behind a firewall, you will need to unblock the UDP port at the client side.
See “My Server”, page 55, for details of how to set up the server.
Additional clients may also request data from the Scream! server. This method is known as “client pull”:

The requests are placed in UDP packets which the server can recognize. If your server is behind a firewall, you will need to unblock the UDP port at both client and server side.
To request data from the server by this method:
Switch to the My Client tab.
Check Receive Data to start Scream! listening.
Right-click anywhere in the Servers list box, and select Add UDP Server.... Enter the IP address in numerical form, followed by a colon :, and the port number on which the server is waiting for requests; e.g. 192.168.42.98:1567.
Test communications by right-clicking on the newly-added server, and selecting GCFPING. A message appears in the Control pane logging the ping being sent. If communication is good, and the server is enabled for client requests, you will receive a GCFACKN message from the server which will also appear in the Control pane.
Request data by right-clicking on the server and selecting GCFSEND:B (or GCFSEND:L) from the pop-up menu.(L is used for little-endian and B for big-endian byte order, and are distinguished for compatibility. If you are unsure, use B.) Streams should soon begin to appear in Scream!'s main window.
To stop the link, right-click as before and select GCFSTOP from the pop-up menu. If you do not GCFSTOP, the server will continue to transmit to a client that is no longer listening. You should ensure that the server replies with a GCFACKN message If an acknowledgement does not appear in the Control pane, repeat the GCFSTOP command.
Scream! automatically issues a GCFSTOP to all connected servers when it exits.
The steps above can be repeated as many times as necessary to pull data from several servers. Scream! remembers all the network settings when it exits, and automatically tries to reconnect when you start it again.
Clients can also make a TCP connection to Scream! and request data. Using this method, transmission of every block is guaranteed, but there is a significant overhead involved in keeping the connection active.
Clients using TCP can access the server by its host name as well as by its IP address. This is useful for installations whose IP address may change.
Multicasting is a feature of TCP/IP which allows you to send network packets to several clients at once. These are most often used on local networks. Multicast servers use addresses between 224.0.0.0 and 239.255.255.255.
When you Add a multicast server, right-clicking on its entry in the Servers list box pops up a menu with Connect and Disconnect options in place of the GCFxxxx commands.
Selecting Connect instructs Scream! to join the multicast group with that address. If the server is running, data should begin appearing immediately.
Selecting Disconnect makes Scream! leave the multicast group. You can be in several multicast groups simultaneously, and join or leave each one independently of the others.
Scream!'s server transmits data over the network via UDP. To prevent network loops, only data from the local computer's serial ports is transmitted.
The list of clients that Scream! is currently sending data is shown in the Clients table at the top of the My Server pane. Block-by-block details of the data being transmitted are shown in the Block Tx pane. Other server operations are reported in the Control pane to its right.

Both “server push” and “client pull” clients are listed in this pane. You can see which clients are using which method by looking in the Timeout column. When a pull clients requests data, its timeout is reset, and then starts counting down toward zero. If a pull client's timeout value reaches zero, Scream! assumes it has stopped listening and removes it from the list. On the other hand, push clients do not have a timeout, because Scream! will always try and transmit to them. Thus, clients using pull have a timeout figure listed in this column, whilst pull clients are shown with the entry None.
To start a server and listen for pull requests from clients, check the Transmit data from local Com Ports box on the My Server pane. No other action is necessary. If your server is behind a firewall, you will need to unblock the UDP port at the server side to receive these requests.
To push data to a particular client:
Switch to the My Server pane.
Check the Transmit data from local Com Ports box.
Right-click anywhere in the Clients list box and select Add.... Enter the IP address and port number on which the server is waiting for requests, separated by a colon : (e.g. 192.168.42.98:1567)
You can add any number of clients, including broadcast addresses and multicast groups. If you want to broadcast or multicast UDP packets, you should obtain suitable addresses from your network administrator.
To broadcast to all connected computers, use the IP address 255.255.255.255.
To restrict broadcasts to a particular subnet, use the broadcast address for that subnet: for example 192.168.255.255:1567 will broadcast data on port 1567 to all clients whose IP addresses begin with 192.168.
To send data to all Scream!s in a multicast group, use a multicast IP address. The range 239.255.0.0 – 239.255.255.255 is available for local networks, and 239.192.0.0 – 239.195.255.255 for organisation-level networks. Most other multicast addresses on the Internet must be specially registered.
The server will automatically start transmitting.
To send data to another Scream! running on the same computer, use the IP address 127.0.0.1.
To send data to more than one Scream! running on the same computer, use the local broadcast address 127.0.0.255, or set up a multicast group.
You can limit the data Scream! sends by setting a maximum sample rate for transmitted streams. Enter a value into the x sps transmitted block limit box to set this rate. This is useful if your network connection is slow or congested. The default value is 200 samples/s.
For example, if a digitizer is configured to generate 4 samples/s and 100 samples/s continuous data, you could monitor the data remotely over a low-bandwidth network by setting this value to 10. The high-rate data can still be recorded on the server if Scream! is so configured (see Chapter 9, page 97) but it will not be sent over the network.
Setting this value to zero suppresses all data streams, but still transmits status streams.
By default, Scream! will only allow you to transmit streams from local instruments from its server. Streams arriving from network clients are not retransmitted. To force Scream! to retransmit data from the network, you must run the program with a special command line option. See Section 14.1, page 131, for details.
You can configure Scream! to let remote clients configure the instruments connected to your computer. To enable this, select Allow remote access to Com Ports. If you are concerned about security, or there are potential problems from outside interference, disable this option. You should never enable this option if you are transmitting data across the Internet.
To alter the IP address or destination port of a client, right-click on it and select Edit.... Enter the new IP address and port as for Add..., and click OK.
To remove a client from the list, right-click on it and select Delete.
In addition to the normal UDP data protocol, Scream! has facilities for attempting to recover missing data. When Scream! receives a block of data that indicates a gap, it connects to the server over a TCP link (from the same port.) Once this connection is made, Scream! requests the missing data, and if it is available the server transmits it over the TCP connection. The UDP data stream is unaffected.

If you are using a firewall on either side of the connection, and want Scream! to be able to recover missing data in this way, you will need to unblock the relevant port for both UDP and TCP traffic.
Scream! can manage the retrieval of data from your installation using modems attached to your local PC. This feature is intended for use in conjunction with the triggering capabilities and Flash recording modes of Güralp digitizers.
Click File → Setup... on Scream's menu bar. Select the Com Ports tab.

You will see a list of all the serial ports available on your computer. This computer has a single serial port, COM3, which is attached to a modem.
Make sure the baud rate and other flags are set up correctly for the modem, and click Dialup.

Enter the telephone number of the remote modem. If you want to contact several remote installations in turn, list their numbers, one per line.
In the right-hand panel, check Every (12) hours, and set the value to 12.
Check the Limit each call to... box, and enter a suitable call length. Scream! will only hang up if it fails to receive any data for a specified length of time.
Ensure that you allow enough time in each call to download all the new data given the sample rates and baud rate that you have chosen. For example, if the modem connection can achieve 19200 baud, then a station outputting continuous 200 samples/s data for 3 components would require a continuous connection to collect all the data. If the data rate were only 20sps, then the modem would only need to be connected for 10% of the time (e.g. a 6-minute call every hour.)
If the local modem needs extra commands, you can add these under Additional Modem Settings. Some useful commands are Q1 to enter “quiet mode”; E0 to turn off local echo, and S0=1 to turn on the auto-answering facility. Modem commands normally start with the attention sequence AT; Scream! adds this sequence automatically, so you do not need to enter it in this box.
Some modems have dip-switches which allow you to set permanent defaults for each command. These can be useful for autonomous installations, when you want to ensure that the modem will not get into an unrecoverable state.
When all the settings are correct, check the Active box and click Apply to start polling.
To switch off polling without losing your settings, uncheck the Active box.
If you have more than one modem attached to your computer, you can set each one up with a different set of numbers and polling times. You might want to do this if
you want to collect data from several stations simultaneously, or
using several modems allows you to reduce call charges (e.g. you might use a cellular modem to contact installations on GSM networks, and a standard modem to contact those on land lines).
You can have up to 99 modems collecting data simultaneously, each with an unlimited number of scheduled dialup times and telephone numbers. Scream! will remember all the settings when you exit.