aí vai o código do meu programa:
------------------------------CLASSE CLIENTE----------------------------
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
/**
*
-
@author LIDI_LINDA
*/
public class Cliente{/** Creates a new instance of Cliente */ public Cliente() { }
public PrintStream Cliente(String saida){
Socket s = null;//Declaro a Stream de saida de dados PrintStream ps = null; try{ //Cria o socket com o recurso desejado na porta especificada s = new Socket("127.0.0.1",8000); //Cria a Stream de saida de dados ps = new PrintStream(s.getOutputStream()); ps.println(saida); //Imprime uma linha para a stream de saída de dados //Trata possíveis exceções }catch(IOException e){ e.printStackTrace(); }finally{ try{ //Encerra o socket cliente s.close(); }catch(IOException e){} }
System.out.println(ps); return ps; } } ------------------------------Classe Servidora------------------------------------ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket;
/**
*
-
@author LIDI_LINDA
*/
public class Servidor {/** Creates a new instance of Servidor */ public Servidor() { }
public static String StartServer(int porta){
// SERVIDOR
ServerSocket serv=null;
//Declaro o Socket de comunicação
Socket s= null;
//Declaro o leitor para a entrada de dados
BufferedReader entrada=null;
// String de Saida
String saida = "";
try{
//Cria o ServerSocket na porta se estiver disponível
serv = new ServerSocket(porta);
//Aguarda uma conexão na porta especificada e cria retorna o socket que irá comunicar com o cliente
s = serv.accept();
System.out.println("startado");
//Cria um BufferedReader para o canal da stream de entrada de dados do socket s
entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
//Aguarda por algum dado e imprime a linha recebida quando recebe
saida = entrada.readLine();
//trata possíveis excessões de input/output. Note que as excessões são as mesmas utilizadas para as classes de java.io
}catch(IOException e){
//Imprime uma notificação na saída padrão caso haja algo errado.
// System.out.println("Algum problema ocorreu para criar ou receber o socket.");
}finally{
try{
//Encerro o socket de comunicação
s.close();
//Encerro o ServerSocket
serv.close();
}catch(IOException e){
}
}
return saida;
}
-----------------------------------Classe Tela-------------------------------------
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
/**
*
-
@author LIDI_LINDA <em>/ public class SisAlarmeTela extends javax.swing.JFrame { private static boolean flag = false; /</em>* Creates new form SisAlarmeTela */ public SisAlarmeTela() { initComponents(); }
/** This method is called from within the constructor to
-
initialize the form.
-
WARNING: Do NOT modify this code. The content of this method is
-
always regenerated by the Form Editor. */ // private void initComponents() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jSeparator2 = new javax.swing.JSeparator(); jPanel1 = new javax.swing.JPanel(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jDesktopPane1 = new javax.swing.JDesktopPane(); jTextField1 = new javax.swing.JTextField(); jButton4 = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); jLabel4 = new javax.swing.JLabel(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle(“Sistema de Alarme vers\u00e3o 1.0”); setExtendedState(600); setMaximizedBounds(new java.awt.Rectangle(200, 300, 600, 700)); jLabel1.setFont(new java.awt.Font(“Times New Roman”, 1, 12)); jLabel1.setText(“MARINHA DO BRASIL”);
jLabel2.setFont(new java.awt.Font(“Times New Roman”, 1, 12));
jLabel2.setText(“SISTEMA INTEGRADO DE ALARME”);jLabel3.setFont(new java.awt.Font(“Times New Roman”, 1, 14));
jLabel3.setForeground(new java.awt.Color(204, 0, 51));jPanel1.setBackground(new java.awt.Color(204, 204, 204)); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(null, new java.awt.Color(204, 255, 255))); jButton1.setText(“Inc\u00eandio”); jButton1.setToolTipText(“Esse bot\u00e3o dispara a mensagem de fogo para todas as O.M. do complexo”); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { Fogo(evt); } });
jButton2.setText(“Invas\u00e3o”); jButton2.setToolTipText(“Esse bot\u00e3o dispara a mensagem de assalto para todas as O.M. do complexo”); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { Assalto(evt); } });
jButton3.setText(“Outra”); jButton3.setToolTipText(“Esse bot\u00e3o habilita a op\u00e7\u00e3o de envio de mensagens para todas as O.M. do complexo”); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { OutraMsg(evt); } });
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup() .addContainerGap() .add(jButton1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 100, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jButton3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 99, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(26, 26, 26)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel1Layout.createSequentialGroup() .addContainerGap() .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jButton3) .add(jButton1) .add(jButton2)) .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );
jDesktopPane1.setBackground(new java.awt.Color(204, 204, 204)); jDesktopPane1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, “Insira seu texto aqui”, javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(“Times New Roman”, 1, 12))); jTextField1.setEditable(false); jTextField1.setSelectedTextColor(new java.awt.Color(255, 255, 204)); jTextField1.setBounds(20, 20, 160, 30); jDesktopPane1.add(jTextField1, javax.swing.JLayeredPane.DEFAULT_LAYER); jTextField1.getAccessibleContext().setAccessibleParent(jButton3);
jButton4.setText(“OK”); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EnviarMsg(evt); } });jButton4.setBounds(190, 20, 70, 30);
jDesktopPane1.add(jButton4, javax.swing.JLayeredPane.DEFAULT_LAYER);jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, “Mensagens Recebidas”, javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(“Arial”, 1, 12), new java.awt.Color(0, 0, 0))); jLabel4.setFont(new java.awt.Font(“Times New Roman”, 1, 12)); jLabel4.setForeground(new java.awt.Color(255, 0, 0)); jLabel4.setText(“t”);
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel2Layout.createSequentialGroup() .add(28, 28, 28) .add(jLabel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 119, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addContainerGap(198, Short.MAX_VALUE)) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup() .add(jLabel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addContainerGap(35, Short.MAX_VALUE)) );
jMenu1.setText(“Arquivo”); jMenuItem1.setText(“Sair”); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { Fechar(evt); } });jMenu1.add(jMenuItem1);jMenuBar1.add(jMenu1);jMenu2.setText(“Sobre”);
jMenuBar1.add(jMenu2);setJMenuBar(jMenuBar1);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jLabel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 417, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(org.jdesktop.layout.GroupLayout.TRAILING, jSeparator2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 601, Short.MAX_VALUE) .add(layout.createSequentialGroup() .add(96, 96, 96) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jDesktopPane1) .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .add(layout.createSequentialGroup() .add(226, 226, 226) .add(jLabel1)) .add(layout.createSequentialGroup() .add(179, 179, 179) .add(jLabel2))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() .add(jLabel1) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jLabel2) .add(33, 33, 33) .add(jLabel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(23, 23, 23) .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(36, 36, 36) .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jDesktopPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 69, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(91, 91, 91)) ); pack(); }//
private void Fechar(java.awt.event.ActionEvent evt) { // TODO adicione seu código de manipulação aqui: System.exit(0); }
private void EnviarMsg(java.awt.event.ActionEvent evt) { flag = true; Cliente c = new Cliente(); List endereco = new ArrayList(); endereco = enderecos(); Iterator it = endereco.iterator();while (it.hasNext()){ String item = (String) it.next(); // c.Cliente(jTextField1.getText(),item)); }
}
private void OutraMsg(java.awt.event.ActionEvent evt) { jDesktopPane1.setVisible(true); jTextField1.setEditable(true); }private void Assalto(java.awt.event.ActionEvent evt) { try{ flag = true; Cliente c = new Cliente(); List endereco = new ArrayList(); endereco = enderecos(); Iterator it = endereco.iterator(); flag = true; while (it.hasNext()){ String item = (String) it.next(); // c.Cliente(“Invasão”,item); } } catch (Exception e){ e.printStackTrace(); } }
private void Fogo(java.awt.event.ActionEvent evt) {
try{ flag = true; Cliente c = new Cliente(); List endereco = new ArrayList(); endereco = enderecos(); Iterator it = endereco.iterator(); flag = true; while (it.hasNext()){ String item = (String) it.next(); // c.Cliente("Incendio",item); } } catch (Exception e){ e.printStackTrace(); } //jLabel4.setText(retorno);
-
// TODO adicione seu código de manipulação aqui:
}
/**
* @param args the command line arguments
*/
private static String pingar(String host) {
try {
if (InetAddress.getByName(host).isReachable(5000))//pinga na porta 5000
return("Respondendo: ");
else
return("Falha na conexão: ");
} catch (Exception e) {
return(“Erro de Sistema :”+ " - " + e);
}
}
// Lista os endereços do propriert
public static ArrayList enderecos(){
ArrayList endereco = new ArrayList();
Properties prop = new Properties();
InputStream in = SisAlarmeTela.class.getResourceAsStream("enderecos.properties");
try {
prop.load(in);
for (int i =1; i<= prop.size();i++){
endereco.add(prop.getProperty("tcp"+i));
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Erro");
}
return endereco;
}
public static ArrayList nome(){
ArrayList nome = new ArrayList();
Properties prop = new Properties();
InputStream in = SisAlarmeTela.class.getResourceAsStream("enderecos.properties");
try {
prop.load(in);
for (int i =1; i<= prop.size();i++){
nome.add(prop.getProperty("nome"+i));
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Erro");
}
return nome;
}
private static void respServer() {
try{
Cliente c = new Cliente();
c.Cliente(“Sem msg”);
}
catch (Exception e){
e.printStackTrace();
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new SisAlarmeTela().setVisible(true);
}
});
while(true){
//Lista os enderecos para o Ping
List endereco = new ArrayList();
List nome = new ArrayList();
endereco = enderecos();
nome = nome();
Iterator it = endereco.iterator();
Iterator itn = nome.iterator();
// PING EFETIVO
while (it.hasNext()& itn.hasNext()) {
String item = (String) it.next();
String name = (String)itn.next();
String tcp = pingar (item);
jLabel3.setText(tcp+" "+name);
}
//startando o servidor a partir daqui o programa simplesmente para
out = Servidor.StartServer(8000);
respServer();
jLabel3.setText(out);
}
}
// Declaração de variáveis - não modifique
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private static javax.swing.JLabel jLabel3;
private static javax.swing.JLabel jLabel4;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JTextField jTextField1;
// Fim da declaração de variáveis
private static String out;
private static int porta;
}