gmt_dos-clients_scope

GMT DOS Scope Client

10 stable releases (3 major)

3.1.0 May 3, 2024
3.0.0 Jan 22, 2024
2.3.2 Dec 5, 2023
2.2.0 Oct 4, 2023
0.1.0 Aug 4, 2023

#895 in Science


Used in 3 crates

MIT license

1.5MB
3K SLoC

gmt_dos-clients_scope

Crates.io Documentation

gmt_dos-clients_scope is a client/server graphical display implementation for gmt_dos-actors models.

The communication between the client and the server is secured with a signed certificate that must be provided by the server. The authentification certificate is generated by calling crypto into a terminal on the server. crypto is installed with

cargo install --bin crypto gmt_dos-clients_transceiver

The generated certificate gmt_dos-clients_transceiver_cert.der must be uploaded onto the client machine.

gmt_dos-clients_scope has 2 features: server and client. The server feature need to be enabled only on the server applications:

cargo add gmt_dos-clients_scope --features=server

and the client feature only on the machine displaying the scopes:

cargo add gmt_dos-clients_scope --features=client

AWS EC2 Instance Setup

To stream data to a local scope from an AWS EC2 instance, a new inbound rule needs to be added to the Security Group of the instance, a rule with the UDP protocol, a port or a port range, and any IPv4 source selected, for example: Alt text

AWS EC2 instances have 2 IPs, a local or private IP and a public IP. The IPs can be found from the AWS dashboard or from a terminal connected to the instance by running: ec2metadata | grep ip.

To check that the new rule of the Security Group is set up properly, on the instance listen to one of the UDP port with

netcat -luv 5001

and on the local machine send a message to the instance UDP port with

echo "hello world" | netcat -uv <instance-public-ip> 5001

On the instance, the following should be written at the prompt:

Connection from <your-machine-ip> <your-machine-port> received!
hello world

The instance local IP is assigned to the scope server whereas the instance public IP is assigned to the scope client.

Dependencies

~15–33MB
~643K SLoC