Server
package Chat;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.*; import javax.swing.*; public class Chat_Server extends JFrame{ static JTextArea area; static JTextField field; static JButton btn; static String netacno; //static DatagramSocket dServer; public Chat_Server(){ JFrame jfrm=new JFrame("UDPServer"); jfrm.setSize(460, 500); jfrm.setLayout(null); area=new JTextArea(); area.setBounds(10, 10, 420, 300); jfrm.add(area); field=new JTextField(); field.setBounds(10, 330, 300, 30); jfrm.add(field); btn=new JButton("Salji"); btn.setBounds(330,330, 100, 30); jfrm.add(btn); jfrm.setVisible(true); jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) throws SocketException, UnknownHostException, IOException { Chat_Server udps=new Chat_Server(); while(true){ try(ServerSocket sServer=new ServerSocket(1000); Socket cn=sServer.accept(); BufferedReader bis=new BufferedReader(new InputStreamReader(cn.getInputStream())); BufferedOutputStream bos=new BufferedOutputStream(cn.getOutputStream()); BufferedOutputStream bos2=new BufferedOutputStream(cn.getOutputStream()) ){ //Zahtev od klijenta String linija=bis.readLine(); while(linija != null && !linija.equals("")){ area.setText(area.getText()+"\nKlijent:\t"+linija); linija=bis.readLine(); } //PROSLEDJIVANJE btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try(Socket cn1=new Socket("localhost",1001); BufferedReader bis1=new BufferedReader(new InputStreamReader(cn1.getInputStream())); BufferedOutputStream bos1=new BufferedOutputStream(cn1.getOutputStream()) ){ bos1.write((field.getText()).getBytes()); bos1.flush(); }catch(Exception exc){} } }); }catch(Exception exc){} }//end while } } Client
package Chat;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.io.IOException; import java.net.*; import javax.swing.*; public class Chat_Klijent extends JFrame { static JTextArea area; static JTextField field; static JButton btn; static DatagramPacket p; public Chat_Klijent(){ JFrame jfrm=new JFrame("UDPKlijent"); jfrm.setSize(460, 500); jfrm.setLayout(null); area=new JTextArea(); area.setBounds(10, 10, 420, 300); jfrm.add(area); field=new JTextField(); field.setBounds(10, 330, 300, 30); jfrm.add(field); btn=new JButton("Salji"); btn.setBounds(330,330, 100, 30); jfrm.add(btn); jfrm.setVisible(true); jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) throws SocketException, UnknownHostException, IOException { Chat_Klijent udpk=new Chat_Klijent(); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try(Socket cn=new Socket("localhost",1000); BufferedReader bis=new BufferedReader(new InputStreamReader(cn.getInputStream())); BufferedOutputStream bos=new BufferedOutputStream(cn.getOutputStream()) ){ bos.write((field.getText()).getBytes()); bos.flush(); }catch(Exception exc){} } }); //slusač while(true){ try( ServerSocket sServer=new ServerSocket(1001); Socket cn=sServer.accept(); BufferedReader bis=new BufferedReader(new InputStreamReader(cn.getInputStream())); BufferedOutputStream bos=new BufferedOutputStream(cn.getOutputStream()); ){ String linija; while((linija=bis.readLine()) != null){ area.setText(area.getText()+"\nServer:\t"+linija); linija=bis.readLine(); } }catch(Exception exc){} }//end while } } |
|