Client code:
Expand|Select|Wrap|Line Numbers
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.util.Scanner;
- import java.util.Arrays;
- public class Client {
- public static void main(String[] args) {
- int N;
- Scanner sc=new Scanner(System.in);
- Socket cs=null;
- BufferedReader bfr=null;
- PrintWriter pw=null;
- try{
- cs=new Socket("localhost",5000) ;
- InputStreamReader isr=
- new InputStreamReader(cs.getInputStream());
- bfr=new BufferedReader(isr);
- pw=new PrintWriter(cs.getOutputStream());
- System.out.println("S-a setat reteaua");
- for(;;){
- System.out.print("Se introduce cuvantul: ");
- String cuvant=sc.nextLine();
- //daca este STOP : se va deconecta
- if(cuvant.equals("STOP")) {pw.println(""); pw.flush();break;}
- else {pw.println(cuvant); pw.flush();}
- //Citim raspuns server:
- String textIn=bfr.readLine();
- if(textIn==null)break;
- System.out.println(textIn);
- }//for;;
- }catch( IOException e){
- e.printStackTrace();
- }
- System.out.println("Client m-am deconectat !");
- }//main
- }
Expand|Select|Wrap|Line Numbers
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.util.Scanner;
- import java.util.Arrays;
- public class Client {
- public static void main(String[] args) {
- int N;
- Scanner sc=new Scanner(System.in);
- Socket cs=null;
- BufferedReader bfr=null;
- PrintWriter pw=null;
- try{
- cs=new Socket("localhost",5000) ;
- InputStreamReader isr=
- new InputStreamReader(cs.getInputStream());
- bfr=new BufferedReader(isr);
- pw=new PrintWriter(cs.getOutputStream());
- System.out.println("S-a setat reteaua");
- for(;;){
- System.out.print("Se introduce cuvantul: ");
- String cuvant=sc.nextLine();
- //daca este STOP : se va deconecta
- if(cuvant.equals("STOP")) {pw.println(""); pw.flush();break;}
- else {pw.println(cuvant); pw.flush();}
- //Citim raspuns server:
- String textIn=bfr.readLine();
- if(textIn==null)break;
- System.out.println(textIn);
- }//for;;
- }catch( IOException e){
- e.printStackTrace();
- }
- System.out.println("Client m-am deconectat !");
- }//main
- }
Expand|Select|Wrap|Line Numbers
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.util.ArrayList;
- import java.util.Arrays;
- import static java.util.Collections.binarySearch;
- //Clasa firului de execuție pentru tratarea clientului conectat la server:
- class FirClient extends Thread {
- private Socket cs;
- private BufferedReader bfr;
- private PrintWriter pw;
- ArrayList<String> listaucvinte;//la creare firului incarcam datele
- // din fisier intr-un ArrayList
- public FirClient(Socket cs) {
- try {
- this.cs = cs;
- pw = new PrintWriter(cs.getOutputStream());
- InputStreamReader isr =
- new InputStreamReader(cs.getInputStream());
- bfr = new BufferedReader(isr);
- //incarcam fisierul cuvinte .txt in ArrayList:
- listaucvinte = new ArrayList<String>();
- System.out.println("Se copiaza fisier in al");
- FileReader f = new FileReader("D://date1.txt");
- BufferedReader bf = new BufferedReader(f);
- for (; ; ) {
- String s = bf.readLine();
- if (s == null) break;//s-a terminat fisier
- listaucvinte.add(s);
- }
- listaucvinte.sort(String::compareTo);
- bf.close();
- f.close();
- } catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- public static int CautareBinara(ArrayList<String> listaucvinte, String cuvant) {
- int start = 0;
- int sfarsit = (listaucvinte.size()) - 1;
- while (start <= sfarsit) {
- int mijloc = start + (sfarsit - start) / 2;
- if (listaucvinte.get(mijloc).compareTo(cuvant) < 0) {
- start = mijloc + 1;
- } else if (listaucvinte.get(mijloc).compareTo(cuvant) > 0) {
- sfarsit = mijloc - 1;
- } else {
- return mijloc;
- }
- }
- return -1;
- }
- public void run() {
- try {
- for (;;) {
- String cuvant = bfr.readLine();
- if (cuvant == null) break;
- if (cuvant.equals("")) break;
- //cautare cuvant in ArrayList:
- for (int i = 0; i < listaucvinte.size(); i += 2) {
- String crt = listaucvinte.get(i);
- int r = CautareBinara(listaucvinte, cuvant);
- if (r == -1)
- pw.println("Elementul nu s-a gasit!");
- else
- pw.println("Elementul este prezent la indexul " + cuvant);
- pw.flush();
- }
- }//for;;
- }
- catch(Exception e){e.printStackTrace();}
- }
- }