package concurrentTest;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
/**
* UDP/IP阻塞模式
* */
public class UDPBIO {
/**
* 服务器端和客户端类似
* @param ipStr IP地址
* @param portNum 端口号
* */
public void udpListen(String ipStr, int portNum)
{
try {
//若希望是全双工模式,则启动一个监听端口,承担服务器的职责
//若不能绑定到指定端口,则抛出SocketException
DatagramSocket serverSocket = new DatagramSocket(portNum);
InetAddress server = InetAddress.getByName(ipStr);
byte[] buffer = new byte[65507];
DatagramPacket receivePacket = new DatagramPacket(buffer,buffer.length);
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,server,portNum);
//阻塞发送packet到指定的服务器和端口
//网络IO异常,抛出IOExceprion
//连不上IP和端口,抛出PortUnreachableException
socke
UDP/IP 阻塞模式与非阻塞模式
最新推荐文章于 2023-09-16 18:12:34 发布
本文深入探讨了UDP/IP协议在阻塞和非阻塞模式下的工作原理,涵盖了这两种模式在服务器编程中的应用,以及如何通过缓冲区管理和字符串操作优化网络通信效率。读者将了解到如何根据需求选择合适的模式,并提升服务器性能。
摘要由CSDN通过智能技术生成