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

📄 datagramserver.java

📁 ssd8 exercise 3 Write a simple datagram client/server in Java and a tcp client/server also in java
💻 JAVA
字号:
import java.net.*;
/*
 * Created on 2008-5-8
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Guest
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class DatagramServer {

	/*
	 * Define the default port for the packet send to.
	 */
	private static int defaultPort = 8000;
	
	/*
	 * Define the size of buffer to make sure that one packet contain one byte.
	 */
	private static int bufferSize = 1;
	
	public DatagramServer() {
	
		// TODO Auto-generated constructor stub
	}

	/*
	 * The main(String[]) method
	 * 
	 * @para args[0] contain the port if it necessary.
	 */
	public static void main(String[] args) {
		
		/*
		 * The port if the user input.
		 */
		int port;
		
		/*
		 * The datagram receive packet
		 */
		DatagramPacket receivePacket;
		
		/*
		 * The datagram send packet
		 */
		DatagramPacket sendPacket;
		
		/*
		 * Declarate the receive byte. 
		 */
		byte receiveBuffer[] = new byte[bufferSize];
		
		/*
		 * Declarate the send byte. 
		 */
		byte sendBuffer[] = new byte[bufferSize];
		
		try
		{
			//get the port and the hostName
			if (args.length == 0) {
				port = defaultPort;
			}
			else if (args.length == 1) {
				port = new Integer(args[1]).intValue();
			}else {
				System.out.println("Invalid input!");
				return;
			}
			
			//creat a datagram server.
			DatagramSocket serverSocket = new DatagramSocket(port);
			System.out.println("connecting...");
			while(true)
			{
			    receivePacket = new DatagramPacket(receiveBuffer,receiveBuffer.length);
				serverSocket.receive(receivePacket);
				sendBuffer = receivePacket.getData();
				sendPacket = new DatagramPacket(sendBuffer,sendBuffer.length,receivePacket.getAddress(),receivePacket.getPort());
				serverSocket.send(sendPacket);
			}
		}catch (Exception e) {
			e.printStackTrace();
			System.err.println("Error!");
		}
	}
}

⌨️ 快捷键说明

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