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

📄 echoserver.java

📁 Java网络编程与分布式计算, 主要分析java网络各方面的编程, 提供许多实用安全
💻 JAVA
字号:
import java.net.*;
import java.io.*;

// Chapter 5, Listing 3
public class EchoServer 
{
	// UDP port to which service is bound
	public static final int SERVICE_PORT = 7;

	// Max size of packet, large enough for almost any client
	public static final int BUFSIZE = 4096;

	// Socket used for reading and writing UDP packets
	private DatagramSocket socket;

	public EchoServer()
	{
		try
		{
			// Bind to the specified UDP port, to listen
			// for incoming data packets
			socket = new DatagramSocket( SERVICE_PORT );

			System.out.println ("Server active on port " + socket.getLocalPort() );
		}
		catch (Exception e)
		{
			System.err.println ("Unable to bind port");
		}
	}

	public void serviceClients()
	{
		// Create a buffer large enough for incoming packets
		byte[] buffer = new byte[BUFSIZE];
			
		for (;;)
		{
			try
			{
				// Create a DatagramPacket for reading UDP packets
				DatagramPacket packet = new DatagramPacket ( buffer, BUFSIZE );

				// Receive incoming packets
				socket.receive(packet);

				System.out.println ("Packet received from " + packet.getAddress() +
					":" + packet.getPort() + " of length " + packet.getLength() );

				// Echo the packet back - address and port 
				// are already set for us !
				socket.send(packet);
			}
			catch (IOException ioe)
			{
				System.err.println ("Error : " + ioe);
			}
		}	
	}

	public static void main(String args[])
	{
		EchoServer server = new EchoServer();
		server.serviceClients();
	}
}

⌨️ 快捷键说明

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