summaryrefslogtreecommitdiff
path: root/src/gps_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'src/gps_test.rb')
-rwxr-xr-xsrc/gps_test.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/gps_test.rb b/src/gps_test.rb
new file mode 100755
index 0000000..4f35ec5
--- /dev/null
+++ b/src/gps_test.rb
@@ -0,0 +1,43 @@
+#!/usr/bin/env ruby1.8
+
+require 'socket'
+
+GPS_SERVER_IP = "192.168.2.1"
+GPS_SERVER_PORT = 5445
+MODE = :client
+PROTOCOL = :tcp
+
+def tcp_read(sock)
+ loop {
+ data = sock.readline()
+ puts data.inspect
+ }
+end
+
+if PROTOCOL == :tcp
+ if MODE == :client
+ sock = TCPSocket.new(GPS_SERVER_IP, GPS_SERVER_PORT)
+ tcp_read(sock)
+ sock.close
+ else
+ serv = TCPServer.new(GPS_SERVER_PORT)
+ sock = serv.accept
+ tcp_read(sock)
+ sock.close
+ end
+elsif PROTOCOL == :udp
+ sock = UDPSocket.new
+ sock.bind('0.0.0.0', GPS_SERVER_PORT)
+
+ loop {
+ begin
+ msg, sender = sock.recvfrom(1024)
+ rescue Errno::EAGAIN, Errno::EWOULDBLOCK => e
+ puts "recvfrom error: #{e.class}: #{e}"
+ next
+ end
+ puts msg.inspect
+ }
+end
+
+