基于udp报的发送和接受,使用wireshark 进行检测
- java server代码
package udp;
import java.net.*;
class UDPServer
{
public static void main(String args[]) throws Exception
{
DatagramSocket serverSocket = new DatagramSocket(8899);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
while(true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String( receivePacket.getData());
System.out.println("RECEIVED: " + sentence);
InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();
String capitalizedSentence = sentence.toUpperCase();
sendData = capitalizedSentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, port);
serverSocket.send(sendPacket);
}
}
}
复制代码
-
java client 代码
package udp; import java.io.*; import java.net.*; class UDPClient { public static void main(String args[]) { DatagramSocket clientSocket = null; try { clientSocket = new DatagramSocket(); while (true) { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); InetAddress IPAddress = InetAddress.getByName("localhost"); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 8899); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedSentence); } } catch (SocketException e) { e.printStackTrace(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { clientSocket.close(); } } } 复制代码
步骤
- 1 先运行java server的代码
- 2 运行javaclient的代码
- 3 在client 的等待系统输入中输入 hello
- 4 server 接收到hello 并发送回client
- 5 使用wireShark 检测这个动作
- udp.port eq 8899
- ![1561341452203](assets/ .png)