ababup1192
3/21/2015 - 9:46 AM

Lego EV3 Socket Program

Lego EV3 Socket Program

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

import lejos.hardware.Button;
import lejos.hardware.lcd.LCD;

public class Server {
    private ServerSocket serverSocket = null;

    public static void main(String[] args) {
        new Server();
    }

    public Server() {
        try {
            // 接続処理
            serverSocket = new ServerSocket(8888);

            System.out.println("Launch Server: port="
                    + serverSocket.getLocalPort());
            Socket socket = serverSocket.accept();
            System.out.println("Client Connect!: "
                    + socket.getRemoteSocketAddress());

            // ソケット読み込み処理
            BufferedReader in = new BufferedReader(new InputStreamReader(
                        socket.getInputStream()));
            String line;
            line = in.readLine();

            System.out.println(line);
            System.out.println("Finished...");
            Button.waitForAnyEvent();
            LCD.clear();
            LCD.refresh();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (serverSocket != null) {
                    serverSocket.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }
}
import java.net.Socket;
import java.net.ServerSocket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;

public class MessageWriter{
    private String host;
    private int port;
    private Socket socket = null;

    public MessageWriter(String host, int port){
        this.host = host;
        this.port = port;
    }

    public void connect(){
      try{
        socket = new Socket(host, port);
        System.out.println("接続しました" + socket.getRemoteSocketAddress());
      }catch(IOException e){
          e.printStackTrace();
      }
    }

    public void write(String message){
        try{
          PrintWriter out = new PrintWriter(socket.getOutputStream(),  true);
          BufferedReader keyIn = new BufferedReader(new InputStreamReader(System.in));
          out.println(message);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

    public void close(){
      try{
        if(socket != null) {
          socket.close();
        }
      }catch(IOException e){
        e.printStackTrace();
      }finally{
        System.out.println("切断しました。");
      }
  }
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Client {

    public static void main(String args[]) {
      MessageWriter messageWriter = new MessageWriter("192.168.11.37", 8888);
      messageWriter.connect();
      BufferedReader keyIn = new BufferedReader(new InputStreamReader(System.in));
      String input;
      try{
        System.out.println("文字を入力してください");
        input = keyIn.readLine();
        messageWriter.write(input);
      }catch(IOException e){
          e.printStackTrace();
      }
      messageWriter.close();
    }
}