Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. java.net.SocketException: Socket closed
  2. at java.net.PlainDatagramSocketImpl.receive0(Native Method)
  3. at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:143)
  4. at java.net.DatagramSocket.receive(DatagramSocket.java:812)
  5. at test.UdpServer.run(UdpServer.java:21)
  6. at java.lang.Thread.run(Thread.java:748)
  7.  
  8. package test;
  9.  
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12.  
  13. import javax.swing.JButton;
  14. import javax.swing.JFrame;
  15. import javax.swing.JPanel;
  16.  
  17. public class test {
  18.  
  19. private static Thread server, display;
  20. private static UdpServer udpServer = new UdpServer();
  21.  
  22. public static void main(String args[]){
  23.  
  24. display = new Thread() {
  25. public void run() {
  26. JFrame frame = new JFrame();
  27. JPanel panel = new JPanel();
  28. JButton start = new JButton("start");
  29. JButton stop = new JButton("stop");
  30.  
  31. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  32. frame.setLocationRelativeTo(null);
  33.  
  34. panel.add(start);
  35. panel.add(stop);
  36.  
  37. frame.setContentPane(panel);
  38.  
  39. start.addActionListener(new ActionListener() {
  40. public void actionPerformed(ActionEvent e) {
  41. server = new Thread(udpServer);
  42. server.start();
  43. }
  44. });
  45.  
  46. stop.addActionListener(new ActionListener() {
  47. public void actionPerformed(ActionEvent e) {
  48. udpServer.stopReception();
  49. }
  50. });
  51.  
  52. frame.pack();
  53. frame.setVisible(true);
  54. }
  55. };
  56. display.start();
  57. }
  58. }
  59.  
  60. package test;
  61.  
  62. import java.io.IOException;
  63. import java.net.DatagramPacket;
  64. import java.net.DatagramSocket;
  65.  
  66. public class UdpServer implements Runnable {
  67.  
  68. private boolean run;
  69. private DatagramSocket serverSocket;
  70.  
  71. public void run() {
  72. run = true;
  73.  
  74. try {
  75. serverSocket = new DatagramSocket(8000);
  76. byte[] receiveData = new byte[1024];
  77. while(run){
  78. System.out.println("Waiting for command : ");
  79. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  80. serverSocket.receive(receivePacket);
  81. if(run) {
  82. receiveData = receivePacket.getData();
  83. String message = new String (receivePacket.getData());
  84.  
  85. System.out.println(message);
  86. }
  87. }
  88. } catch (IOException e) {
  89. e.printStackTrace();
  90. }
  91. }
  92.  
  93. public void stopReception() {
  94. run = false;
  95. serverSocket.close();
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement