⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udpserver.java

📁 用UDP协议进行传输
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import javax.swing.Timer;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class UDPServer{
	public static void main(String args[]) throws Exception
	{
	     DatagramSocket serverSocket = new DatagramSocket(9876);
	     boolean flag=false;
	     Timer[] tt =new Timer[5];
	     String[] send=new String[5];
	     for(int k=0;k<5;k++)
	     send[k]=k+"hello how are you";
	     InetAddress sendto = InetAddress.getByName("localhost");
	     byte[] receiveData = new byte[1024];
	     byte[] sendData = new byte[1024];
	     for(int k=0;k<5;k++)
	     {
	     	 sendData = send[k].getBytes();
	         DatagramPacket sendPacket = new DatagramPacket(sendData,sendData.length,sendto,6789);
	    	serverSocket.send(sendPacket);
	      ActionListener taskPerformer =new myActionListener(serverSocket,sendPacket,k);
  	  tt[k]=new Timer(5000 ,taskPerformer); 
  	  tt[k].start();
  }

	     
	     while(flag==false){
	     	
	     	DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length );
	     	serverSocket.receive(receivePacket);
	     	String sentence=new String(receivePacket.getData());
	     	char b=sentence.charAt(0);	     	
	     	System.out.println("Server received "+ b);
	     	int i=b-'0';
	     	if(i>=0&&i<10){
	     	System.out.println("receveived "+i+" Packet["+i+"] stopped");
	     	tt[i].stop();
	              }
	     	}
	     	}
	     
}

class  myActionListener implements ActionListener {
	private DatagramSocket serverSocket;
	private DatagramPacket sendPacket;
	int k;
	public myActionListener(DatagramSocket serversocket,DatagramPacket sendpacket,int i)
	{
	    serverSocket = serversocket;
	    sendPacket= sendpacket;
	    k=i;
    }
     public void actionPerformed(ActionEvent e) {
         	               	System.out.println("Time out! \nPacket "+k+" does not receive reply, send again");
         	               	try{
         	               		serverSocket.send(sendPacket);
         	               		}
         	               	catch(Exception exception){
         	               		}
                           };
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -