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

📄 udpclient.java

📁 这是用java编写的用UDP协议的模拟FTP客户端和服务器的程序。
💻 JAVA
字号:
import java.net.*;
import java.io.*;

public class UdpClient
{
	public static void main (String args[])
	{
		String host="127.0.0.1";
		int port=2000;
		int length=1024;
		
		try
		{
			// 建立Socket
			DatagramSocket dSocket = new DatagramSocket();
			System.out.print("Bound to local port " + dSocket.getLocalPort() +
						"\nInput file name : ");

			// 输入文件名
			BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
			String fileName = bin.readLine();
			
			// 生成Package,发送文件名
			byte[] barray = fileName.getBytes ();
			DatagramPacket p = new DatagramPacket( barray, barray.length );
			p.setAddress (InetAddress.getByName (host));
			p.setPort (port);
			dSocket.send (p);
			
			// 重置包
			p.setData(new byte[length]);
			p.setLength(length);
			
			// 生成文件输出流
			FileOutputStream fout = new FileOutputStream("a.dat");
			
			// 接收数据,并存储
			String s = fileName + "End.";
			for (;;)
			{
				// 接收数据包
				dSocket.receive(p);

				// 获取数据内容
				barray = p.getData();
				int len = p.getLength();
				
				// 判定是否结束
				String s1 = new String (barray, 0, len);
				if (s.equals(s1)) break;
				else
				{
					// 存入文件
					for (int i=0; i<len; i++)
					{
						fout.write(barray[i]);
					}
					
					// 发送确认包
					dSocket.send (p);
				}
			}
			
			fout.close();	
			dSocket.close();
		}
		catch (IOException ioe)
		{
			System.err.println ("Error - " + ioe);
		}

	}
}

⌨️ 快捷键说明

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