summaryrefslogtreecommitdiff
path: root/src/gps_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'src/gps_test.rb')
-rwxr-xr-xsrc/gps_test.rb49
1 files changed, 28 insertions, 21 deletions
diff --git a/src/gps_test.rb b/src/gps_test.rb
index 4f35ec5..8f64112 100755
--- a/src/gps_test.rb
+++ b/src/gps_test.rb
@@ -4,40 +4,47 @@ require 'socket'
GPS_SERVER_IP = "192.168.2.1"
GPS_SERVER_PORT = 5445
-MODE = :client
-PROTOCOL = :tcp
+MODE = :tcp_server
+#MODE = :tcp_client
+#MODE = :udp_server
+#MODE = :serial
def tcp_read(sock)
loop {
- data = sock.readline()
- puts data.inspect
+ begin
+ data = sock.readline()
+ p data
+ rescue Errno::EAGAIN, Errno::EWOULDBLOCK => e
+ puts "read error: #{e.class}: #{e}"
+ return
+ end
}
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)
-
+def udp_read(sock)
loop {
begin
msg, sender = sock.recvfrom(1024)
+ p msg
rescue Errno::EAGAIN, Errno::EWOULDBLOCK => e
puts "recvfrom error: #{e.class}: #{e}"
next
end
- puts msg.inspect
}
end
-
+if MODE == :tcp_client
+ sock = TCPSocket.new(GPS_SERVER_IP, GPS_SERVER_PORT)
+ tcp_read(sock)
+ sock.close
+elsif MODE == :tcp_server
+ serv = TCPServer.new(GPS_SERVER_PORT)
+ sock = serv.accept
+ tcp_read(sock)
+ sock.close
+elsif MODE == :udp_server
+ sock = UDPSocket.new
+ sock.bind('0.0.0.0', GPS_SERVER_PORT)
+ udp_read(sock)
+ sock.close
+end