📄 udpclientdemo.java
字号:
//基于UDP的客户端程序演示
import java.net.*;
import java.io.*;
public class UDPClientDemo{
private DatagramSocket s;
private InetAddress hostAddress;
private byte[] buf = new byte[1000];
private DatagramPacket dp = new DatagramPacket(buf,buf.length);
public UDPClientDemo()
{
try
{
//使用构造器,创建使用本机任何可用端口的数据包Socket
s = new DatagramSocket();
//获取本地IP
hostAddress = InetAddress.getByName("localhost");
System.out.println("Client start......");
while(true)
{
String strOutMess ="";
//读取输入
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
try
{
strOutMess = stdin.readLine();
}catch(IOException ie)
{
System.err.println("IO error!");
}
//如果输入“bye”则表示退出程序
if(strOutMess.equals("bye")) break;
String strOut = "[Client say]: "+ strOutMess;
byte[] buf = strOut.getBytes();
//打包数据,发送数据
DatagramPacket out = new DatagramPacket(buf,buf.length,hostAddress,ChatServer.PORT);
s.send(out);
//等待服务器返回
s.receive(dp);
String strReceived = "("+ dp.getAddress() + ":" + dp.getPort()+")" +
new String(dp.getData(),0,dp.getLength());
System.out.println(strReceived);
}
}catch(UnknownHostException e)
{
System.out.println("未找到服务器!");
System.exit(1);
}catch(SocketException e)
{
System.out.println("打开套接字错误!");
e.printStackTrace();
System.exit(1);
}catch(IOException e)
{
System.err.println("数据传输错误!");
e.printStackTrace();
System.exit(1);
}
}
public static void main(String[] args)
{
new UDPClientDemo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -