Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- java.net.SocketException: Socket closed
- at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:143)
- at java.net.DatagramSocket.receive(DatagramSocket.java:812)
- at test.UdpServer.run(UdpServer.java:21)
- at java.lang.Thread.run(Thread.java:748)
- package test;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class test {
- private static Thread server, display;
- private static UdpServer udpServer = new UdpServer();
- public static void main(String args[]){
- display = new Thread() {
- public void run() {
- JFrame frame = new JFrame();
- JPanel panel = new JPanel();
- JButton start = new JButton("start");
- JButton stop = new JButton("stop");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setLocationRelativeTo(null);
- panel.add(start);
- panel.add(stop);
- frame.setContentPane(panel);
- start.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- server = new Thread(udpServer);
- server.start();
- }
- });
- stop.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- udpServer.stopReception();
- }
- });
- frame.pack();
- frame.setVisible(true);
- }
- };
- display.start();
- }
- }
- package test;
- import java.io.IOException;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- public class UdpServer implements Runnable {
- private boolean run;
- private DatagramSocket serverSocket;
- public void run() {
- run = true;
- try {
- serverSocket = new DatagramSocket(8000);
- byte[] receiveData = new byte[1024];
- while(run){
- System.out.println("Waiting for command : ");
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- serverSocket.receive(receivePacket);
- if(run) {
- receiveData = receivePacket.getData();
- String message = new String (receivePacket.getData());
- System.out.println(message);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void stopReception() {
- run = false;
- serverSocket.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement