aboutsummaryrefslogtreecommitdiff
path: root/CamilStaps-s4498062-Assignment-5/ex3
diff options
context:
space:
mode:
authorCamil Staps2015-12-14 10:25:09 +0000
committerCamil Staps2015-12-14 10:25:09 +0000
commit346407a55f00111a675304433ff5a7ee19569098 (patch)
treec0a6662dfc9796b842ad92b8e0938933b318ce63 /CamilStaps-s4498062-Assignment-5/ex3
parentFinish assignment 4 (diff)
Finish assignment 5
Diffstat (limited to 'CamilStaps-s4498062-Assignment-5/ex3')
-rw-r--r--CamilStaps-s4498062-Assignment-5/ex3/readme10
-rwxr-xr-xCamilStaps-s4498062-Assignment-5/ex3/receive.sh14
-rwxr-xr-xCamilStaps-s4498062-Assignment-5/ex3/send.sh16
3 files changed, 40 insertions, 0 deletions
diff --git a/CamilStaps-s4498062-Assignment-5/ex3/readme b/CamilStaps-s4498062-Assignment-5/ex3/readme
new file mode 100644
index 0000000..cb95949
--- /dev/null
+++ b/CamilStaps-s4498062-Assignment-5/ex3/readme
@@ -0,0 +1,10 @@
+The sender opens a port for a 1, doesn't do anything to send a 0. Obviously, the receiver should know the sender's IP address.
+
+Usage on the receiver's side:
+
+ $ ./receive.sh
+
+Usage on the sender's side:
+
+ $ echo 010101110110110 | ./send.sh
+
diff --git a/CamilStaps-s4498062-Assignment-5/ex3/receive.sh b/CamilStaps-s4498062-Assignment-5/ex3/receive.sh
new file mode 100755
index 0000000..4944d9c
--- /dev/null
+++ b/CamilStaps-s4498062-Assignment-5/ex3/receive.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+SERVER=localhost
+PORT=12345
+
+while :; do
+ timeout 1 nc "$SERVER" "$PORT" 2>/dev/null
+ if [[ "$?" == "1" ]]; then
+ echo -n "0"
+ sleep 1
+ else
+ echo -n "1"
+ fi
+done
+
diff --git a/CamilStaps-s4498062-Assignment-5/ex3/send.sh b/CamilStaps-s4498062-Assignment-5/ex3/send.sh
new file mode 100755
index 0000000..b0ad02d
--- /dev/null
+++ b/CamilStaps-s4498062-Assignment-5/ex3/send.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+PORT=12345
+
+# For every input line
+while IFS= read -r payload; do
+ # For every character
+ for (( i=0; i<${#payload}+1; i+=1 )); do
+ char="${payload:$i:1}"
+ if [[ "$char" == "1" ]]; then
+ timeout 1 nc -lp "$PORT" >/dev/null
+ else
+ sleep 1
+ fi
+ done
+done
+