Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- package com.bitshift.parsing.parsers;
-
- import java.util.Formatter;
-
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.IOException;
-
- import java.nio.ByteBuffer;
-
- import java.net.Socket;
-
- import com.bitshift.parsing.symbols.Symbols;
-
- public abstract class Parser implements Runnable {
-
- protected Socket clientSocket;
- private String eos;
-
- public Parser(Socket clientSocket) {
- this.clientSocket = clientSocket;
- }
-
- protected String readFromClient() {
- String fromClient = "";
-
- try {
- BufferedReader clientReader = new BufferedReader(
- new InputStreamReader(this.clientSocket.getInputStream()));
-
- int bytes = Integer.parseInt(clientReader.readLine());
- this.eos = clientReader.readLine();
-
- StringBuilder builder = new StringBuilder();
- int i = 0;
-
- while(i < bytes) {
- char aux = (char)clientReader.read();
- builder.append(aux);
- i++;
- }
-
- fromClient = builder.toString();
-
- } catch (IOException ex) {
- }
-
- return fromClient;
- }
-
- protected void writeToClient(String toClient) {
- try {
- BufferedWriter clientWriter = new BufferedWriter(
- new OutputStreamWriter(this.clientSocket.getOutputStream()));
-
- clientWriter.write(toClient);
- clientWriter.write(eos);
- clientWriter.flush();
- this.clientSocket.close();
- } catch (IOException ex) {
- }
- }
-
- protected abstract Symbols genSymbols();
-
- public abstract void run();
-
- }
|