Скачиваний:
73
Добавлен:
09.05.2014
Размер:
79.64 Кб
Скачать

PointHandler.Java

package mainframe;

import java.net.*;

import java.io.*;

class PointHandler implements Runnable {

private Thread t;

private Socket socket;

private DataInputStream dis;

private DataOutputStream dos;

private double x;

private double y;

private double R;

private boolean answer;

PointHandler(Socket s) {

t = new Thread(this);

socket = s;

t.start();

}

public void run() {

try {

dis = new DataInputStream(socket.getInputStream());

dos = new DataOutputStream(socket.getOutputStream());

x = dis.readDouble();

y = dis.readDouble();

R = dis.readDouble();

if ((x>=0 && y>=0 && x<=R && y<=R/2) ||

(x<=0 && y>=0 && ((x*x + y*y) <= R*R/4)) ||

(x<=0 && y<=0 && y>=(-x-R))) {

answer = true;

} else {

answer = false;

}

dos.writeBoolean(answer);

dis.close();

dos.close();

socket.close();

} catch (IOException e) {

System.out.println("Unable to read/write data!");

return;

}

}

}

Server.Java

package mainframe;

import java.io.*;

public class Server {

private static final int DEFAULT_PORT = 7070;

public static void main(String args[]) {

int port = DEFAULT_PORT;

boolean exitFlag = false;

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

if (args.length > 0) {

try {

port = Integer.parseInt(args[0]);

} catch (NumberFormatException e) {

System.out.println("Illegal port! The port was set by default!");

}

}

ServerReceiver sr = new ServerReceiver(port);

do {

System.out.println("Enter the \"exit\" command close the application:");

try {

if (input.readLine().equalsIgnoreCase("exit")) {

exitFlag = true;

}

} catch (IOException e) {

System.out.println("Application will be closed!");

sr.stop();

return;

}

} while (!exitFlag);

sr.stop();

}

}

ServerReceiver.Java

package mainframe;

import java.net.*;

import java.io.*;

class ServerReceiver implements Runnable{

private Thread t;

private int port;

private ServerSocket serverSocket;

private boolean running = true;

private Socket clientSocket;

ServerReceiver(int p) {

t = new Thread(this);

port = p;

try {

serverSocket = new ServerSocket(port);

serverSocket.setSoTimeout(500);

} catch (IOException e) {

System.out.println("Socket was not created!");

System.exit(-1);

}

t.start();

}

public void run() {

while (running) {

try {

new PointHandler(serverSocket.accept());

} catch (IOException e) {}

}

try {

serverSocket.close();

} catch (IOException e) {}

}

public void stop() {

running = false;

}

}

Соседние файлы в папке лабораторная работа 3