Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.snovak.testapp;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.Socket;
- /**
- * Created by snovak on 28.9.2015.
- */
- public class ThreadZaSlanjePoruke extends Thread {
- // server ce uvek biti na 1337 , po dogovoru
- private static final int SERVER_PORT = 1337;
- // IP adresu servera moramo da dobijemo od korisnika
- // kroz edit text
- private String ipServera;
- // poruka koja se salje serveru
- private String poruka;
- private boolean imaStaDaSalje = false;
- @Override
- public void run() {
- // THREAD JE STALNO AKTIVAN
- // da ne bi preopteretili procesor
- // thread kada ode na kraj while petlje
- // odspava - izbleji pola sekunde i tada ne trosi procesor
- // nakon pola sekunde se probudi i proveri da li ima neceg da se salje
- while(true) {
- if(imaStaDaSalje) {
- posaljiPoruku();
- }
- // kad dodjes na kraj petlje, malo odspavaj
- try {
- Thread.sleep(500); // pola sekunde
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- /**
- * Salje poruku na datu adresu
- * @param ipServera - adresa java servera na PC-u
- * @param poruka - tekst koji ce biti poslat i ispisan na serverskoj eclipse konzoli
- */
- public void posaljiPoruku (String ipServera, String poruka) {
- this.poruka = poruka;
- this.ipServera = ipServera;
- // stavimo ovo na true, da bi thread znao da treba da posalje nesto serveru
- imaStaDaSalje = true;
- }
- public void zaustaviThread() {
- // vreme je da ovaj Thread umre
- Thread.currentThread().interrupt();
- }
- private void posaljiPoruku(){
- // otvori novi socket
- // posalji KUL poruku
- // zatvori konekciju
- // UMRI
- try {
- if(imaStaDaSalje) {
- Socket vezaSaServerom = new Socket(ipServera, SERVER_PORT);
- OutputStream outToServer = vezaSaServerom.getOutputStream();
- // OTVARAMO tok PODATAKA KROZ SOCKET
- DataOutputStream out = new DataOutputStream(outToServer);
- // SALJEMO PORUKU NASU
- out.writeUTF(poruka);
- // kraj veze, cao cao
- vezaSaServerom.close();
- // stavljamo na FALSE promenljivu imaStaDaSeSalje
- // jer vise nema sta da se salje
- imaStaDaSalje = false;
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement