asked on
//Server code:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.Vector;
public class ClientServerMsg {
static final int LISTENING_PORT = 1025;
public static void main(String[] args) throws Exception {
ServerSocket listener;
listener = new ServerSocket(LISTENING_PORT);
System.out.println("Port: " + LISTENING_PORT);
while (true) {
Socket connection = listener.accept();
new ConnectionHandler(connection);
}
}
static class ConnectionHandler extends Thread {
int MAX = 10;
Vector msgsList = new Vector();
Socket connection;
PrintWriter out;
//out = System.out;
private OutputStream outputstream;
ConnectionHandler(Socket conn) throws IOException {
connection = conn;
outputstream = conn.getOutputStream();
out = new PrintWriter(outputstream, true);
start();
}
/*
ConnectionHandler(Socket conn) {
connection = conn;
start();
}
*/
void sendPOSTMESSAGE(String msg) throws Exception {
try {
if (msgsList.size() < MAX) {
msgsList.addElement(msg);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
} catch (Exception ex) {
out.println("ERROR");
out.flush();
}
if (out.checkError())
throw new Exception("Error while receiving the message");
}
void sendREADMESSAGE() throws Exception {
if (msgsList.size() == 0) {
out.println("ERROR");
out.flush();
} else if (msgsList.size() > 0)
{
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).startsWith("URGENT:")) {
out.write((String) msgsList.elementAt(i));
msgsList.remove(i);
} else {
out.write((String) msgsList.elementAt(0));
msgsList.remove(0);
}
}
} else {
if (out.checkError())
throw new Exception("Error");
}
}
void sendREMOVEMESSAGE(String remvmsg) throws Exception {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).equals(remvmsg)) {
msgsList.remove(i);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
}
}
void sendQUIT() throws Exception {
out.close();
connection.close();
}
public void run() {
String command = "";
try {
InputStream instream = null;
try {
instream = connection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
Scanner in = new Scanner(instream);
try {
outputstream = connection.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
//command = in.nextLine();
if (in.hasNextLine()) {
command = in.nextLine();
}
if (command.startsWith("POSTMESSAGE")) {
try {
sendPOSTMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("READMESSAGE")) {
try {
sendREADMESSAGE();
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.startsWith("REMOVEMESSAGE")) {
try {
sendREMOVEMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("QUIT")) {
try {
sendQUIT();
} catch (Exception e) {
e.printStackTrace();
}
} else {
out.println("UNKNOWN COMMAND");
out.flush();
}
} finally {
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
//Client code:
import java.io.*;
import java.net.*;
public class Client {
public static void main(String argv[]) throws Exception
{
String sentence;
String modifiedSentence;
String hostname;
int portNumber;
String portString;
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("What host would you like to connect to?");
hostname = inFromUser.readLine();
System.out.println("What port would you like to connect to?");
portString = inFromUser.readLine();
portNumber = Integer.parseInt(portString);
System.out.println("Connecting to port "+ portNumber+ " of "+ hostname +"....\n");
Socket clientSocket = new Socket(hostname, portNumber);
DataOutputStream outToServer =
new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer =
new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
System.out.println("Connection establised");
sentence = inFromUser.readLine();
while (sentence != null)
{
/* send the sentence to the server */
outToServer.writeBytes(sentence + '\n');
/* read response from the server */
modifiedSentence = inFromServer.readLine();
outToServer.flush();
}
clientSocket.close();
}
}
ASKER
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.Vector;
/**
* DOCUMENT ME!
*
* @author $author$
* @version $Revision$
*/
public class ClientServerMsg {
static final int LISTENING_PORT = 1025;
public static void main(String[] args) throws Exception {
ServerSocket listener;
listener = new ServerSocket(LISTENING_PORT);
System.out.println("Port: " + LISTENING_PORT);
while (true) {
Socket connection = listener.accept();
new ConnectionHandler(connection);
}
}
static class ConnectionHandler extends Thread {
int MAX = 10;
Vector msgsList = new Vector();
Socket connection;
PrintWriter out = new PrintWriter(System.out); //For standard output
private OutputStream outstream;
ConnectionHandler(Socket conn) {
connection = conn;
start();
}
void sendPOSTMESSAGE(String msg) throws Exception {
try {
if (msgsList.size() < MAX) {
msgsList.addElement(msg);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
} catch (Exception ex) {
out.println("ERROR");
out.flush();
}
if (out.checkError()) {
throw new Exception("Error while receiving the message");
}
}
void sendREADMESSAGE() throws Exception {
if (msgsList.size() == 0) {
out.println("ERROR");
out.flush();
} else if (msgsList.size() > 0) {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).startsWith("URGENT:")) {
out.write((String) msgsList.elementAt(i));
msgsList.remove(i);
} else {
out.write((String) msgsList.elementAt(0));
msgsList.remove(0);
}
}
} else {
if (out.checkError()) {
throw new Exception("Error");
}
}
}
void sendREMOVEMESSAGE(String remvmsg) throws Exception {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).equals(remvmsg)) {
msgsList.remove(i);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
}
}
void sendQUIT() throws Exception {
out.close();
connection.close();
}
public void run() {
String command = "";
try {
InputStream instream = null;
try {
instream = connection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
Scanner in = new Scanner(instream);
try {
outstream = connection.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
//command = in.nextLine();
if (in.hasNextLine()) {
command = in.nextLine();
}
if (command.startsWith("POSTMESSAGE")) {
try {
sendPOSTMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("READMESSAGE")) {
try {
sendREADMESSAGE();
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.startsWith("REMOVEMESSAGE")) {
try {
sendREMOVEMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("QUIT")) {
try {
sendQUIT();
} catch (Exception e) {
e.printStackTrace();
}
} else {
out.println("UNKNOWN COMMAND");
out.flush();
}
} finally {
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
ASKER
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.Vector;
/**
* DOCUMENT ME!
*
* @author $author$
* @version $Revision$
*/
public class ClientServerMsg {
static final int LISTENING_PORT = 1025;
public static void main(String[] args) throws Exception {
ServerSocket listener;
listener = new ServerSocket(LISTENING_PORT);
System.out.println("Port: " + LISTENING_PORT);
while (true) {
Socket connection = listener.accept();
new ConnectionHandler(connection);
}
}
static class ConnectionHandler extends Thread {
int MAX = 10;
Vector msgsList = new Vector();
Socket connection;
PrintWriter out = new PrintWriter(System.out); //For standard output
private OutputStream outstream;
ConnectionHandler(Socket conn) {
connection = conn;
start();
}
void sendPOSTMESSAGE(String msg) throws Exception {
try {
if (msgsList.size() < MAX) {
msgsList.addElement(msg);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
} catch (Exception ex) {
out.println("ERROR");
out.flush();
}
if (out.checkError()) {
throw new Exception("Error while receiving the message");
}
}
void sendREADMESSAGE() throws Exception {
if (msgsList.size() == 0) {
out.println("ERROR");
out.flush();
} else if (msgsList.size() > 0) {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).startsWith("URGENT:")) {
out.write((String) msgsList.elementAt(i));
msgsList.remove(i);
} else {
out.write((String) msgsList.elementAt(0));
msgsList.remove(0);
}
}
} else {
if (out.checkError()) {
throw new Exception("Error");
}
}
}
void sendREMOVEMESSAGE(String remvmsg) throws Exception {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).equals(remvmsg)) {
msgsList.remove(i);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
}
}
void sendQUIT() throws Exception {
out.close();
connection.close();
}
public void run() {
String command = "";
while (true)
{
try {
InputStream instream = null;
try {
instream = connection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
Scanner in = new Scanner(instream);
try {
outstream = connection.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
//command = in.nextLine();
if (in.hasNextLine()) {
command = in.nextLine();
}
if (command.startsWith("POSTMESSAGE")) {
try {
sendPOSTMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("READMESSAGE")) {
try {
sendREADMESSAGE();
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.startsWith("REMOVEMESSAGE")) {
try {
sendREMOVEMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("QUIT")) {
try {
sendQUIT();
} catch (Exception e) {
e.printStackTrace();
}
} else {
out.println("UNKNOWN COMMAND");
out.flush();
}
} finally {
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}
ASKER
ASKER
ASKER
ASKER
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.Vector;
/**
* DOCUMENT ME!
*
* @author $author$
* @version $Revision$
*/
public class ClientServerMsg {
static final int LISTENING_PORT = 1025;
public static void main(String[] args) throws Exception {
ServerSocket listener;
listener = new ServerSocket(LISTENING_PORT);
System.out.println("Port: " + LISTENING_PORT);
while (true) {
Socket connection = listener.accept();
new ConnectionHandler(connection);
}
}
static class ConnectionHandler extends Thread {
int MAX = 10;
@SuppressWarnings("unchecked")
Vector msgsList = new Vector();
Socket connection;
PrintWriter out = new PrintWriter(System.out); //For standard output
@SuppressWarnings("unused")
private OutputStream outstream;
ConnectionHandler(Socket conn) {
connection = conn;
start();
}
@SuppressWarnings("unchecked")
void sendPOSTMESSAGE(String msg) throws Exception {
try {
if (msgsList.size() < MAX) {
msgsList.addElement(msg);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
} catch (Exception ex) {
out.println("ERROR");
out.flush();
}
if (out.checkError()) {
throw new Exception("Error while receiving the message");
}
}
void sendREADMESSAGE() throws Exception {
if (msgsList.size() == 0) {
out.println("ERROR");
out.flush();
} else if (msgsList.size() > 0) {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).startsWith("URGENT:")) {
out.write((String) msgsList.elementAt(i));
msgsList.remove(i);
} else {
out.write((String) msgsList.elementAt(0));
msgsList.remove(0);
}
}
} else {
if (out.checkError()) {
throw new Exception("Error");
}
}
}
void sendREMOVEMESSAGE(String remvmsg) throws Exception {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).equals(remvmsg)) {
msgsList.remove(i);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
}
}
void sendQUIT() throws Exception {
out.close();
connection.close();
}
public void run() {
String command = "";
try {
InputStream instream = null;
try {
instream = connection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
Scanner in = new Scanner(instream);
try {
outstream = connection.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
//command = in.nextLine();
while ("QUIT".equals(command) == false) {
if (in.hasNextLine()) {
command = in.nextLine();
}
if (command.startsWith("POSTMESSAGE")) {
try {
sendPOSTMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("READMESSAGE")) {
try {
sendREADMESSAGE();
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.startsWith("REMOVEMESSAGE")) {
try {
sendREMOVEMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("QUIT")) {
try {
sendQUIT();
} catch (Exception e) {
e.printStackTrace();
}
} else {
out.println("UNKNOWN COMMAND");
out.flush();
}
}
} finally {
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
ASKER
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.Vector;
/**
* DOCUMENT ME!
*
* @author $author$
* @version $Revision$
*/
public class ClientServerMsg {
static final int LISTENING_PORT = 1025;
public static void main(String[] args) throws Exception {
ServerSocket listener;
listener = new ServerSocket(LISTENING_PORT);
System.out.println("Port: " + LISTENING_PORT);
while (true) {
Socket connection = listener.accept();
new ConnectionHandler(connection);
}
}
static class ConnectionHandler extends Thread {
int MAX = 10;
@SuppressWarnings("unchecked")
Vector msgsList = new Vector();
Socket connection;
PrintWriter out = new PrintWriter(System.out, true); //For standard output
@SuppressWarnings("unused")
private OutputStream outstream;
ConnectionHandler(Socket conn) {
connection = conn;
start();
}
@SuppressWarnings("unchecked")
void sendPOSTMESSAGE(String msg) throws Exception {
try {
if (msgsList.size() < MAX) {
msgsList.addElement(msg);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
} catch (Exception ex) {
out.println("ERROR");
out.flush();
}
if (out.checkError()) {
throw new Exception("Error while receiving the message");
}
}
void sendREADMESSAGE() throws Exception {
if (msgsList.size() == 0) {
out.println("ERROR");
out.flush();
} else if (msgsList.size() > 0) {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).startsWith("URGENT:")) {
out.write((String) msgsList.elementAt(i));
msgsList.remove(i);
} else {
out.write((String) msgsList.elementAt(0));
msgsList.remove(0);
}
}
} else {
if (out.checkError()) {
throw new Exception("Error");
}
}
}
void sendREMOVEMESSAGE(String remvmsg) throws Exception {
for (int i = 0; i < msgsList.size(); i++) {
if (((String) msgsList.elementAt(i)).equals(remvmsg)) {
msgsList.remove(i);
out.println("OK");
out.flush();
} else {
out.println("ERROR");
out.flush();
}
}
}
void sendQUIT() throws Exception {
out.close();
connection.close();
}
public void run() {
String command = "";
try {
InputStream instream = null;
try {
instream = connection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
Scanner in = new Scanner(instream);
try {
outstream = connection.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
//command = in.nextLine();
while ("QUIT".equals(command) == false) {
if (in.hasNextLine()) {
command = in.nextLine();
}
if (command.startsWith("POSTMESSAGE")) {
try {
sendPOSTMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("READMESSAGE")) {
try {
sendREADMESSAGE();
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.startsWith("REMOVEMESSAGE")) {
try {
sendREMOVEMESSAGE(command);
} catch (Exception e) {
e.printStackTrace();
}
} else if (command.equals("QUIT")) {
try {
sendQUIT();
} catch (Exception e) {
e.printStackTrace();
}
} else {
out.println("UNKNOWN COMMAND");
out.flush();
}
}
} finally {
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
ASKER
ASKER
//Client:
import java.io.*;
import java.net.*;
public class Client {
public static void main(String argv[]) throws Exception
{
String sentence;
String modifiedSentence = null;
String hostname;
int portNumber;
String portString;
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("What host would you like to connect to?");
hostname = inFromUser.readLine();
System.out.println("What port would you like to connect to?");
portString = inFromUser.readLine();
portNumber = Integer.parseInt(portString);
System.out.println("Connecting to port "+ portNumber+ " of "+ hostname +"....\n");
Socket clientSocket = new Socket(hostname, portNumber);
DataOutputStream outToServer =
new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer =
new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
System.out.println("Connection establised");
sentence = inFromUser.readLine();
while (sentence != null)
{
/* send the sentence to the server */
outToServer.writeBytes(sentence + '\n');
/* read response from the server */
modifiedSentence = inFromServer.readLine();
outToServer.flush();
}
clientSocket.close();
}
}
ASKER
Java is a platform-independent, object-oriented programming language and run-time environment, designed to have as few implementation dependencies as possible such that developers can write one set of code across all platforms using libraries. Most devices will not run Java natively, and require a run-time component to be installed in order to execute a Java program.
TRUSTED BY