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

📄 udpseverservice.java

📁 一个小的文件编辑器
💻 JAVA
字号:
import java.io.*;
import java.net.*;

public class udpSeverService
{
	public static void main(String args[])
	{
		/*if(args.length<1)
		{
			System.out.println("请输入用于MAIL服务的本地端口号");
			System.exit(0);
		}*/
		UdpServerThread MyUdpServer=new UdpServerThread(8000);
		
		MyUdpServer.start();
	}
}


class UdpServerThread extends Thread
{
	
	private DatagramSocket UdpServerSocket=null;
	
	public UdpServerThread(int port)
	{
		try{
			
				UdpServerSocket=new DatagramSocket(port);
				System.out.println("邮件服务器监听器在端口"+UdpServerSocket.getLocalPort()+"\n");
			}catch(Exception e)
			{
				System.err.println(e);
			}
			
	}


	public void run()
	{
		if(UdpServerSocket==null)
		return;
		
		while(true)
		{
			try{
				
				byte dataBuf[]=new byte[512];
				DatagramPacket ServerPacket;
				InetAddress RemoteHost;
				int RemotePort;
				String Datagram,s;
				//接收信息所需要的
				ServerPacket=new DatagramPacket(dataBuf,512);//用于接受信息
				UdpServerSocket.receive(ServerPacket);
				
				RemoteHost=ServerPacket.getAddress();
				RemotePort=ServerPacket.getPort();
				Datagram=new String(ServerPacket.getData());
				//得到客户端发来的信息
				System.out.println("收到如下主机发来的邮件"+RemoteHost.getHostName()+":\nMailServer"+InetAddress.getLocalHost().getHostName()+"has already get your mails.");
			
				for(int i=0;i<512;i++)
				dataBuf[i]=0;//clear buf
				
				Datagram=new String("This mail is from serverhost"+InetAddress.getLocalHost().getHostName()+",give me a reicept\nif you can receive it,thank you!");
				Datagram.getBytes(0,Datagram.length(),dataBuf,0);//
				ServerPacket=new DatagramPacket(dataBuf,dataBuf.length,RemoteHost,RemotePort);
				UdpServerSocket.send(ServerPacket);
				
				}catch(Exception e)
				{
					System.err.println(e);
				}
				
			}
		}
		protected void finalize()
		{
			if(UdpServerSocket!=null)
			{
				UdpServerSocket.close();
				UdpServerSocket=null;
				System.out.println("关闭服务器端的数据报连接");
			}
		}
}

⌨️ 快捷键说明

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