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

📄 datagramserver.java

📁 美国卡耐基。梅隆大学SSD8课程练习3的答案
💻 JAVA
字号:
import java.io.*;
import java.net.*;

public class DatagramServer {

	/**
	 * DatagramSocket
	 */
	private DatagramSocket server;
	
	/**
	 * DatagramPacket
	 */
	private DatagramPacket fromClient;
	private DatagramPacket outToClient;
	
	/**
	 * byte packet
	 */
	private byte in[] = new byte[1];
	
	private int count;
	private int lost;
	
	/**
	 * DatagramServer constructor
	 *
	 */
	DatagramServer(){
		count = 0;
		lost = 0;
	}
	
	void setUpconnection(){
		try {
			server = new DatagramSocket(8000);
			fromClient = new DatagramPacket(in, in.length);
			outToClient = null;
		} catch (SocketException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
	}
	
	/**
	 * receive the packet of client
	 *
	 */
	void receivePacket(){
	
		try {
			for (; count < 1000;) {
				server.receive(fromClient);
				if (in[0] != -1) {
					outToClient = new DatagramPacket(in, in.length, fromClient
							.getAddress(), fromClient.getPort());
					server.send(outToClient);
					count++;
				} else
					lost++;
				}
			System.out.println("Lost " + lost + " packets");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
	/**
	 * 
	 * @param args
	 */
	public static void main(String[] args){
		
		DatagramServer server = new DatagramServer();
		server.setUpconnection();
		server.receivePacket();
	}
}

⌨️ 快捷键说明

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