|
|
|
|
@ -37,39 +37,7 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
while(!zt.running()) { } |
|
|
|
|
|
|
|
|
|
// client/server mode toggle
|
|
|
|
|
int mode = 4, err = -1; |
|
|
|
|
|
|
|
|
|
// Establish outgoing connection
|
|
|
|
|
if(mode==0) |
|
|
|
|
{ |
|
|
|
|
zt.join_network(nwid); |
|
|
|
|
int sock = zt.socket(SDK.AF_INET, SDK.SOCK_STREAM, 0); |
|
|
|
|
|
|
|
|
|
err = zt.connect(sock, "10.9.9.100", 7004, nwid); |
|
|
|
|
Log.d("TEST", "err = " + err + "\n"); |
|
|
|
|
|
|
|
|
|
// TX
|
|
|
|
|
zt.write(sock, "Welcome to the machine".getBytes(), 16); |
|
|
|
|
|
|
|
|
|
// Test section
|
|
|
|
|
for(int i=0; i<1000; i++) |
|
|
|
|
{ |
|
|
|
|
try { |
|
|
|
|
Thread.sleep(20); |
|
|
|
|
} |
|
|
|
|
catch(java.lang.InterruptedException e) { } |
|
|
|
|
|
|
|
|
|
String msg = "Welcome to the machine!"; |
|
|
|
|
int written = zt.write(sock, msg.getBytes(), msg.length()); |
|
|
|
|
Log.d("TEST", "TX[" + i + "] = " + written); |
|
|
|
|
|
|
|
|
|
// RX
|
|
|
|
|
byte[] buffer = new byte[1024]; |
|
|
|
|
zt.read(sock, buffer, buffer.length); |
|
|
|
|
String bufStr = new String(buffer); |
|
|
|
|
Log.d("TEST", "RX[" + i + "] = " + bufStr); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
int mode = 2, err; |
|
|
|
|
|
|
|
|
|
// Listen to incoming connections
|
|
|
|
|
if(mode==1) |
|
|
|
|
@ -77,46 +45,46 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
zt.join_network(nwid); |
|
|
|
|
int sock = zt.socket(SDK.AF_INET, SDK.SOCK_STREAM, 0); |
|
|
|
|
|
|
|
|
|
err = zt.bind(sock, "0.0.0.0", 8080, nwid); |
|
|
|
|
Log.d("TEST", "bind_err = " + err + "\n"); |
|
|
|
|
if((err = zt.bind(sock, "0.0.0.0", 8080, nwid)) < 0) |
|
|
|
|
Log.d("TEST", "bind_err = " + err + "\n"); |
|
|
|
|
|
|
|
|
|
if((err = zt.listen(sock,1)) < 0) |
|
|
|
|
Log.d("TEST", "listen_err = " + err); |
|
|
|
|
|
|
|
|
|
if((err = zt.accept(sock,null)) < 0) |
|
|
|
|
Log.d("TEST", "accept_err = " + err); |
|
|
|
|
|
|
|
|
|
err = zt.listen(sock,1); |
|
|
|
|
Log.d("TEST", "listen_err = " + err); |
|
|
|
|
Log.d("TEST", "Waiting to accept connection..."); |
|
|
|
|
|
|
|
|
|
err = zt.accept(sock,null); // Pass a ZTAddress to get remote host's address (if you want)
|
|
|
|
|
Log.d("TEST", "accept_err = " + err); |
|
|
|
|
// ...
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// TCP Echo test (CLIENT)
|
|
|
|
|
if(mode==2) |
|
|
|
|
{ |
|
|
|
|
Log.d("TEST", "\n\nStarting TCP Echo Test\n\n"); |
|
|
|
|
zt.join_network(nwid); |
|
|
|
|
int sock = zt.socket(SDK.AF_INET, SDK.SOCK_STREAM, 0); |
|
|
|
|
String msg = "Welcome to the machine!"; |
|
|
|
|
err = zt.connect(sock, "28.206.65.211", 8080, nwid); |
|
|
|
|
|
|
|
|
|
Log.d("TEST", "RX / TX stress test\n"); |
|
|
|
|
err = zt.connect(sock, "10.9.9.100", 8080, nwid); |
|
|
|
|
Log.d("TEST", "err = " + err + "\n"); |
|
|
|
|
|
|
|
|
|
// TX
|
|
|
|
|
zt.write(sock, "Welcome to the machine".getBytes(), 16); |
|
|
|
|
|
|
|
|
|
// Test section
|
|
|
|
|
for(int i=0; i<1000; i++) |
|
|
|
|
// ECHO
|
|
|
|
|
while(true) |
|
|
|
|
{ |
|
|
|
|
try { |
|
|
|
|
Thread.sleep(0); |
|
|
|
|
// TX
|
|
|
|
|
if((err = zt.write(sock, msg.getBytes(), msg.length())) > 0) { |
|
|
|
|
Log.d("TEST", "TX: " + msg + " --- " + err + " bytes"); |
|
|
|
|
} |
|
|
|
|
catch(java.lang.InterruptedException e) { } |
|
|
|
|
|
|
|
|
|
String msg = "Welcome to the machine!"; |
|
|
|
|
int written = zt.write(sock, msg.getBytes(), msg.length()); |
|
|
|
|
Log.d("TEST", "TX[" + i + "] = " + written); |
|
|
|
|
|
|
|
|
|
// RX
|
|
|
|
|
byte[] buffer = new byte[32]; |
|
|
|
|
Arrays.fill(buffer, (byte)0); |
|
|
|
|
zt.read(sock, buffer, buffer.length); |
|
|
|
|
String bufStr = new String(buffer); |
|
|
|
|
Log.d("TEST", "RX[" + i + "] = " + bufStr); |
|
|
|
|
if((err = zt.read(sock, buffer, buffer.length)) > 0) { |
|
|
|
|
String bufStr = new String(buffer).substring(0, err); |
|
|
|
|
Log.d("TEST", "RX: " + bufStr + " --- " + err + " bytes"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -135,8 +103,7 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
final SocketAddress remoteAddr = new InetSocketAddress("10.9.9.100", 8080); |
|
|
|
|
|
|
|
|
|
// Wait for address to be assigned
|
|
|
|
|
ArrayList<String> addresses = new ArrayList<String>(); |
|
|
|
|
addresses = zt.get_addresses(nwid); |
|
|
|
|
ArrayList<String> addresses = zt.get_addresses(nwid); |
|
|
|
|
for(int i=0; i<addresses.size(); i++) { |
|
|
|
|
Log.d("TEST", "Address = " + addresses.get(i)); |
|
|
|
|
} |
|
|
|
|
@ -162,14 +129,14 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
}).start(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// UDP test
|
|
|
|
|
// UDP Echo test
|
|
|
|
|
if(mode==4) |
|
|
|
|
{ |
|
|
|
|
// Remote server address (will be populated by recvfrom()
|
|
|
|
|
ZTAddress remoteServer = new ZTAddress(); |
|
|
|
|
ZTAddress bindAddr = new ZTAddress("0.0.0.0", 8080); |
|
|
|
|
|
|
|
|
|
Log.d("TEST", "\n\nStarting UDP Test\n\n"); |
|
|
|
|
Log.d("TEST", "\n\nStarting UDP Echo Test\n\n"); |
|
|
|
|
nwid = "8056c2e21c000001"; |
|
|
|
|
zt.join_network(nwid); |
|
|
|
|
int sock = zt.socket(SDK.AF_INET, SDK.SOCK_DGRAM, 0); |
|
|
|
|
@ -188,14 +155,13 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
Log.d("TEST", "IPV4 = " + addresses.get(0)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
String bufStr = ""; |
|
|
|
|
String bufStr; |
|
|
|
|
byte[] buffer = new byte[1024]; |
|
|
|
|
|
|
|
|
|
zt.fcntl(sock, zt.F_SETFL, zt.O_NONBLOCK); |
|
|
|
|
|
|
|
|
|
// ECHO
|
|
|
|
|
while(true) { |
|
|
|
|
bufStr = ""; |
|
|
|
|
|
|
|
|
|
// RX
|
|
|
|
|
if((err = zt.recvfrom(sock, buffer, 32, 0, remoteServer)) > 0) { |
|
|
|
|
|