Skip to content
Snippets Groups Projects
Commit 0e57e8dc authored by Brutzman, Don's avatar Brutzman, Don
Browse files

debug testing with Terry and Don

parent 082b3d37
No related branches found
No related tags found
No related merge requests found
......@@ -33,16 +33,10 @@ public class TcpExample2ConnectionCounting
{
System.out.println("TcpExample2ConnectionCounting has started and is waiting for a connection.");
System.out.println(" help: https://savage.nps.edu/Savage/developers.html#telnet");
// Where are we? In other words, what is our host number? Advertise it
// https://stackoverflow.com/questions/9481865/getting-the-ip-address-of-the-current-machine-using-java
String localHostAddress = Inet4Address.getLocalHost().toString();
System.out.println("Local host address is " + localHostAddress);
if (localHostAddress.contains("/"))
localHostAddress = localHostAddress.substring(localHostAddress.indexOf("/")+1);
// show localhost IP number to facilitate connections over local area network (LAN, WAN)
System.out.println(" enter (nc localhost 2317) or (telnet localhost 2317) for local operation" );
System.out.println(" enter (nc " + localHostAddress + " 2317) or " +
"(telnet " + localHostAddress + " 2317)..." );
System.out.println(" Windows ipconfig (or Mac ifconfig) indicates current IPv4_Address (for example local wireless IP address)");
System.out.println(" Windows enter (telnet localhost 2317) or Mac enter (nc localhost 2317) for loopback operation, or" );
System.out.println(" Windows enter (telnet IPv4_Address 2317) or Mac enter (nc IPv4_Address 2317) for LAN operation" );
System.out.println("TcpExample2ConnectionCounting server standing by..." );
// ServerSocket waits for a connection from a client.
// Notice that it is outside the loop; ServerSocket needs to be made only once.
......@@ -51,18 +45,33 @@ public class TcpExample2ConnectionCounting
ServerSocket serverSocket = new ServerSocket(2317); // server decides here what port to listen on.
// of interest: often client doesn't care what port it uses locally when connecting to that server port.
// Loop, infinitely, waiting for client connections.
// Stop the program somewhere else.
while(true)
{
// blocks! then proceeds once a connection is "accept"ed
// serverSocket.accept() blocks! then proceeds once a connection is "accept"ed
try (Socket clientConnection = serverSocket.accept()) {
connectionCount++; // got another one!
OutputStream os = clientConnection.getOutputStream();
PrintStream ps = new PrintStream(os);
// if (connectionCount == 1) // first time through, report connection
// {
// // Where are we? In other words, what is our host number? Advertise it.
// // Note that we use the serverSocket to get address, since host may have multiple network connections.
// // https://stackoverflow.com/questions/9481865/getting-the-ip-address-of-the-current-machine-using-java
// String localHostAddress = clientConnection.getInetAddress().getHostAddress();
// System.out.println("Local host address is " + localHostAddress);
// if (localHostAddress.contains("/"))
// localHostAddress = localHostAddress.substring(localHostAddress.indexOf("/")+1);
// // show localhost IP number to facilitate connections over local area network (LAN, WAN)
// System.out.println(" enter (nc localhost 2317) or (telnet localhost 2317) for local operation" );
// System.out.println(" enter (nc " + localHostAddress + " 2317) or " +
// "(telnet " + localHostAddress + " 2317)..." );
// }
ps.println("This client response was written by server " + TcpExample2ConnectionCounting.class.getName()); // to remote client
System.out.println("This server response was written by server " + TcpExample2ConnectionCounting.class.getName()); // to server console
......@@ -83,7 +92,7 @@ public class TcpExample2ConnectionCounting
//
// Why is first IP/port the same, while the second set has different ports?
System.out.println("Socket pair: (( " + localAddress.toString() + ", " + localPort + " ), ( " +
System.out.println("Socket pair (server, client): (( " + localAddress.toString() + ", " + localPort + " ), ( " +
remoteAddress.toString() + ", " + remotePort + " ))");
System.out.println("got another connection, #" + connectionCount); // report progress
......
Invocation instructions:
1. run/debug TcpExample2.java
2. console: nc localhost 2317
alternate: telnet localhost 2217
1. run/debug TcpExample2ConnectionCounting.java
2. Windows: ipconfig
MacOS: ifconfig
3. Windows: telnet localhost 2317
MacOS: nc localhost 2317
Program responses:
===================================================
run:
TcpExample2ConnectionCounting has started and is waiting for a connection: telnet localhost 2317
This server response was written by server TcpExample2ConnectionCounting
Socket pair: (( /0:0:0:0:0:0:0:1, 2317 ), ( /0:0:0:0:0:0:0:1, 57630 ))
run-single:
TcpExample2ConnectionCounting has started and is waiting for a connection.
help: https://savage.nps.edu/Savage/developers.html#telnet
Windows ipconfig (or Mac ifconfig) indicates current IPv4_Address (for example local wireless IP address)
Windows enter (telnet localhost 2317) or Mac enter (nc localhost 2317) for loopback operation, or
Windows enter (telnet IPv4_Address 2317) or Mac enter (nc IPv4_Address 2317) for LAN operation
TcpExample2ConnectionCounting server standing by...
This server response was written by server TcpExamples.TcpExample2ConnectionCounting
Socket pair (server, client): (( /172.20.154.38, 2317 ), ( /172.20.153.125, 55424 ))
got another connection, #1
This server response was written by server TcpExample2ConnectionCounting
Socket pair: (( /0:0:0:0:0:0:0:1, 2317 ), ( /0:0:0:0:0:0:0:1, 57631 ))
This server response was written by server TcpExamples.TcpExample2ConnectionCounting
Socket pair (server, client): (( /172.20.154.38, 2317 ), ( /172.20.153.125, 55425 ))
got another connection, #2
This server response was written by server TcpExample2ConnectionCounting
Socket pair: (( /0:0:0:0:0:0:0:1, 2317 ), ( /0:0:0:0:0:0:0:1, 57633 ))
This server response was written by server TcpExamples.TcpExample2ConnectionCounting
Socket pair (server, client): (( /172.20.154.38, 2317 ), ( /172.20.153.125, 55426 ))
got another connection, #3
This server response was written by server TcpExamples.TcpExample2ConnectionCounting
Socket pair (server, client): (( /172.20.154.38, 2317 ), ( /172.20.153.125, 55427 ))
got another connection, #4
This server response was written by server TcpExamples.TcpExample2ConnectionCounting
Socket pair (server, client): (( /172.20.154.38, 2317 ), ( /172.20.153.125, 55428 ))
got another connection, #5
This server response was written by server TcpExamples.TcpExample2ConnectionCounting
Socket pair (server, client): (( /172.20.154.38, 2317 ), ( /172.20.154.38, 49308 ))
got another connection, #6
===================================================
don@it154928 /cygdrive/c/Program Files/NetBeans 8.2
$ telnet localhost 2317
Trying ::1...
Connected to localhost.
Escape character is '^]'.
This client response was written by server TcpExample2
You were connection #1, by my count
Connection closed by foreign host.
don@it154928 /cygdrive/c/Program Files/NetBeans 8.2
$ telnet localhost 2317
Trying ::1...
Connected to localhost.
Escape character is '^]'.
This client response was written by server TcpExample2
You were connection #2, by my count
Connection closed by foreign host.
don@it154928 /cygdrive/c/Program Files/NetBeans 8.2
$ telnet localhost 2317
Trying ::1...
Connected to localhost.
Escape character is '^]'.
This client response was written by server TcpExample2
You were connection #3, by my count
Connection closed by foreign host.
This client response was written by server TcpExamples.TcpExample2ConnectionCounting
You were connection #6, by my count
Connection to host lost.
===================================================
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment