Something went wrong on our end
-
Brutzman, Don authoredBrutzman, Don authored
TackettTcpClient.java 3.34 KiB
package MV3500Cohort2018JanuaryMarch.homework1;
//package tcpclient;
import java.net.Socket;
import java.io.*;
/**
* Before, we always used telnet to connect to the server. We are now writing
* our own program to do the connection.
*
* As you will see, when we run this after we start the server we will see the
* same string telnet printed, sent by the server. The output at the server will
* show different socket pairs for each time we ran it.
*
* @author mcgredo
*/
public class TackettTcpClient
{
/**
* Default constructor to silence javadoc warning
* @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor" target="_blank">StackOverflow: Java default constructor</a>
*/
public TackettTcpClient ()
{
// default initializations
}
/** socket parameter of interest */
public final static String LOCALHOST = "localhost";
//String can also be IPV4 127.0.0.1 or IPV6 0:0:0:0:0:0:0:1
/** run the program
* @param args command-line arguments, string parameters (unused) */
public static void main(String[] args) {
try {
//while (true) {
System.out.println("creating socket");
// We request an IP to connect to ("localhost") and
// port number at that IP (2317). This establishes
// a connection to that IP in the form of the Socket
// object; the server uses a ServerSocket to wait for
// connections.
Socket socket = new Socket(LOCALHOST, 2317);
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
String locationMessage = "Enemy infantry spotted in the open at position Alpha";
String sendMessage = locationMessage + "\n";
bw.write(sendMessage);
bw.flush();
System.out.println("Message sent to the server: " + sendMessage);
// Read the single line written by the server. We'd
// do things a bit differently if many lines to be read
// from the server, instead of one only.
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String message = br.readLine();
System.out.println("Message received from the server: "+message);
String serverMessage = br.readLine();
System.out.println("Now we're talking");
System.out.println("The message the server sent was " + serverMessage);
}
catch(Exception exception)
{
// System.out.println(e);
exception.printStackTrace();
System.out.println("Problem with client");
System.out.println(exception);
}
finally
{
try
{
//socket.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
System.out.println("client exit");
}
}