📄 udpserverdemo.java
字号:
//基于UDP的服务器端程序演示
import java.net.*;
import java.io.*;
import java.util.*;
public class UDPServerDemo
{
static final int PORT = 4000;//设置服务端口
private byte[] buf = new byte[1000];
private DatagramPacket dgp =new DatagramPacket(buf,buf.length);
private DatagramSocket sk;
public UDPServerDemo()
{
try
{
//实例化数据报
sk = new DatagramSocket(PORT);
System.out.println("Server start......");
while(true)
{
//等待接收
sk.receive(dgp);
//获取接收信息
String strReceived = "("+ dgp.getAddress()+": "+ dgp.getPort()+")"+new String(dgp.getData(),0,dgp.getLength());
System.out.println(strReceived);
String strOutMess ="";
//读取输入
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
try
{
strOutMess = stdin.readLine();
}catch(IOException ie)
{
System.err.println("输入输出错误!");
}
String strOutput = "[Server say]: "+ strOutMess;
//拷贝字符到缓存
byte[] buf = strOutput.getBytes();
//打包数据,发送回信息。
DatagramPacket out = new DatagramPacket(buf,buf.length,dgp.getAddress(),dgp.getPort());
sk.send(out);
}
}catch(SocketException e)
{
System.err.println("打开套接字错误!");
System.exit(1);
}catch(IOException e)
{
System.err.println("数据传输错误!");
e.printStackTrace();
System.exit(1);
}
}
public static void main(String[] args)
{
new UDPServerDemo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -