Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package echoTCP;
- import tutta la roba;
- public abstract class TCP {
- protected int port;
- public TCP(int port) {
- super();
- this.port = port;
- }
- protected abstract void clientProtocol(BufferedReader in, BufferedWriter out)
- throws IOException;
- protected abstract void serverProtocol(BufferedReader in, BufferedWriter out)
- throws IOException;
- /*****************client***************/
- protected void client(String[] args) {
- try {
- Socket echo = new Socket(args[0], port);
- BufferedReader in =
- new BufferedReader(new InputStreamReader(echo.getInputStream()));
- BufferedWriter out =
- new BufferedWriter(new OutputStreamWriter(echo.getOutputStream()));
- System.out.println("Connected...");
- //utilizzo del servizio
- clientProtocol(in, out);
- echo.shutdownOutput();
- echo.close();
- System.out.println("Disconnected...");
- in.close();
- out.close();
- } catch (Exception e) {
- System.err.println(e);
- System.exit(1);
- }
- }
- /********server******************/
- protected void server() {
- try {
- ServerSocket echo = new ServerSocket(port);
- System.out.println("RFC 862 ECHO server now running");
- while(true) {
- try {
- final Socket connection = echo.accept();
- Runnable worker = aWorker(connection);
- Thread t = new Thread(worker);
- t.start();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- private Runnable aWorker(final Socket connection){
- Runnable worker = new Runnable(){
- public void run(){
- try{
- //System.out.println("Client IP:"+connection.getInetAddress());
- System.out.println("Connection from client");
- //gestione del servizio
- BufferedReader in =
- new BufferedReader(new InputStreamReader(connection.getInputStream()));
- BufferedWriter out =
- new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
- //String data = serverProtocol(in, out);
- serverProtocol(in, out);
- in.close();
- out.close();
- connection.close();
- System.out.println("Connection closed");
- } catch(IOException e){
- e.printStackTrace();
- }
- }
- }; return worker;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment