📄 talkudpserver.java
字号:
//这是基于UDP协议的网络聊天程序的服务器端
import java.io.*;
import java.net.*;
public class TalkUDPServer
//单客户机制
{
public static void main(String args[]) throws Exception
{
try
//由于clientSocket生成和关闭都会出错,因此需要进行异常处理
{
DatagramSocket serverSocket = new DatagramSocket(55555);
//用DatagramSocket创建一个端口
System.out.println("This is Server! Welcome!");
//提示这是服务器端
byte[] receiveData = new byte[128];
//声明一个DatagramPacket对象,参数分别给出接收数据的byte数组和长度
byte[] sendData = new byte[128];
//声明一个DatagramPacket对象,参数分别给出发送数据的byte数组和长度
while(true)
//服务器开始循环
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
//声明一个DatagramPacket对象,用于接收客户端端发送过来的数据
serverSocket.receive(receivePacket);
//接收服务器端发送过来的数据
String sentence = new String(receivePacket.getData());
//将接收到的数据转化成字符串
System.out.println("Client->Server: " + sentence);
//输出字符串
InetAddress IPAddress = receivePacket.getAddress();
//获取客户端的IP地址
int port = receivePacket.getPort();
//获取客户端的端口号
BufferedReader toClient = new BufferedReader(new InputStreamReader(System.in));
//由系统标准输入设备构造BufferedReader对象
sentence = toClient.readLine();
//从系统标准输入读入一字符串
System.out.println("Server->Client:" +sentence);
//输出服务器发送给客户端的字符串
sendData = sentence.getBytes();
//实现类型转化
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
//声明一个DatagramPacket对象,包含要发送的数据内容,长度,IP地址及端口号
serverSocket.send(sendPacket);
//向客户端发送数据
}
}
catch(Exception e)
{
System.out.println("Error: " + e);
//出错,则打印出错信息
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -