Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.io.PrintWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- import support.chatFeil;
- public class Server {
- private int portNr;
- private ServerSocket serverSocket;
- private Socket klientSocket;
- private InputStream fraKlientStrom;
- private InputStreamReader fraKlientStromLeser;
- private BufferedReader fraKlientBufferLeser;
- private OutputStream tilKlientStrom;
- private OutputStreamWriter tilKlientStromSkriver;
- private BufferedWriter tilKlientBufferSkriver;
- // konstruktør
- public Server(int portNr) {
- this.portNr = portNr;
- //start server
- start();
- }
- // startmetode
- private void start() {
- try {
- serverSocket = new ServerSocket(portNr);
- // lytt etter tilkoblingsforsøk
- tilkoblingsLytter();
- } catch (IOException e) {
- System.out.println(chatFeil.IO_ERROR);
- }
- }
- // tilkoblingslytter
- private void tilkoblingsLytter() throws IOException {
- klientSocket = serverSocket.accept();
- fraKlientStrom = klientSocket.getInputStream();
- tilKlientStrom = klientSocket.getOutputStream();
- PrintWriter skriv = new PrintWriter(tilKlientStrom, true);
- skriv.println("Hai");
- // send til klient når den kobler seg på
- // lytte etter beskjeder fra klient
- beskjedLytter();
- }
- // beskjedlytter
- private void beskjedLytter() throws IOException {
- fraKlientStromLeser = new InputStreamReader(fraKlientStrom);
- fraKlientBufferLeser = new BufferedReader(fraKlientStromLeser);
- tilKlientStromSkriver = new OutputStreamWriter(tilKlientStrom);
- tilKlientBufferSkriver = new BufferedWriter(tilKlientStromSkriver);
- // venter på at beskjeder skal dukke opp i bufferlesern
- String beskjedFraKlient;
- // henter beskjeder
- while( (beskjedFraKlient = fraKlientBufferLeser.readLine()) != null){
- //returner beskjed fra klient
- returnerEkko(beskjedFraKlient);
- }
- }
- // metode for returnering av ekko
- private void returnerEkko(String beskjedFraKlient) throws IOException {
- tilKlientBufferSkriver.write("Ekko: " + beskjedFraKlient);
- tilKlientBufferSkriver.newLine();
- tilKlientBufferSkriver.flush();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement