Skip to content
Snippets Groups Projects
Commit a1139c5c authored by brutzman's avatar brutzman
Browse files

Merge origin/master

parents 90d8bcb7 c81f9d01
No related branches found
No related tags found
No related merge requests found
package MV3500Cohort2019JulySeptember.homework1;
import java.io.*;
import java.net.*;
import java.sql.Timestamp;
/**
* The simplest possible TCP network program. It listens for
* a connection, from telnet (telnet localhost 2317) or a program
* you write, which we will do later. Right now the TcpExample simply
* writes a string in response to a connection.
*
* Modifying his program is the basis for Assignment 1.
*
* Testing the running server program from telnet looks like this:
*
* it154916:projects mcgredo$ telnet localhost 2317
* Trying ::1...
* Connected to localhost.
* Escape character is '^]'.
* This was written by the server
* Connection closed by foreign host.
*
* Notice that "This was written by the server" matches
* what is written by the code below, over the output stream.
*
* After this first connection the program below drops out
* the bottom of the program, and does not repeat itself.
* The program exits.
*
* @author mcgredo, brutzman``
*/
public class BoronTcpExample1Telnet1
{
public static void main(String[] args)
{
try
{
System.out.println("TcpExample1Telnet has started and is waiting for a connection.");
System.out.println(" help: https://savage.nps.edu/Savage/developers.html#telnet");
System.out.println(" enter (telnet localhost 2317) or (nc localhost 2317)..." );
// The ServerSocket waits for a connection from a client.
// It returns a Socket object when the connection occurs.
ServerSocket serverSocket = new ServerSocket(2317);
// The Socket object represents the connection between
// the server and client, including a full duplex connection
Socket clientConnection = serverSocket.accept();
// Use Java io classes to write text (as opposed to
// unknown bytes of some sort) to the client
OutputStream os = clientConnection.getOutputStream();
PrintStream ps = new PrintStream(os);
ps.println("This client response was written by Capt. Jonathan Boron."); // to remote clientnc
ps.println("Connection achieved at time: " + new Timestamp(System.currentTimeMillis()));
ps.println(new Timestamp(System.currentTimeMillis()));
System.out.println("This server response was written by Capt. Jonathan Boron."); // to server console
System.out.println("Connection achieved at time: " + new Timestamp(System.currentTimeMillis()));
// "flush()" in important in that it forces a write
// across what is in fact a slow connection
ps.flush();
clientConnection.close();
System.out.println("Handshake completed successfully.");
}
catch(IOException e)
{
System.out.println("problem with networking: " + e);
// if (e.getClass() == java.net.BindException) // TODO whazzup?
if (e.getMessage().equals("Address already in use: NET_Bind"))
System.out.println("Be sure to stop any other running instances of this program.");
}
}
}
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