📄 c14_7.java
字号:
//UDP 服务器端程序:
import java.io.*;
import java.net.*;
import java.util.*;
class UDPServerThread extends Thread{ //启动服务器线程的主程序
private DatagramPacket packet;
private DatagramSocket socket;
static final int sport=1777;
UDPServerThread(){
try{
// 将socket连接到本机的一个可用的端口上
socket=new DatagramSocket(sport);
System.out.println("Listening on port:"+socket.getLocalPort());
}
catch(Exception e){ System.out.println("Error:"+e); }
}
public void run()
{ //线程的主要操作
if(socket==null)return;
while(true){
try{
InetAddress address;
int cport;
byte[] buf=new byte[1000];
String s="Your packet is received";
packet=new DatagramPacket(buf,buf.length); //生成一个接收数据报
socket.receive(packet); //接收数据报
String s1=new String(packet.getData());
System.out.println("Received from client: "+s1); //打印数据报的内容
address=packet.getAddress();
cport=packet.getPort(); //获得数据报的源地址与端口
s.getBytes(0,s.length(),buf,0);
packet=new DatagramPacket(buf,buf.length,address,cport); //生成发送的数据报
socket.send(packet); // 发送数据报给客户
}
catch(Exception e){ System.out.println("Error:"+e); }
}
}
protected void finalize(){
if(socket!=null){
socket.close(); //关闭socket
System.out.println("Socket Closed.");
}
}
}
public class c14_7{
public static void main(String[] args){
UDPServerThread server=new UDPServerThread();
server.start();}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -