DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报, DatagramSocket接收和发送的数据都是通过DatagramPacket对象完成的。 send(DatagramPacket p):以该DatagramSocket对象向外发送数据报。
使用DatagramSocket发送数据报时,DatagramSocket并不知道将该数据报发送到哪里,而是由DatagramPacket自身决定数据报的目的。就像码头并不知道每个集装箱的目的地,码头只是将这些集装箱发送出去,而集装箱本身包含了该集装箱的目的地。 我觉得楼主应该是把那个方法名写错了。sent应该是想写成send,我在API没有找到楼主写的sent方法。而且send方法的参数必须是DatagramPacket类的一个对象,可以把它看成一个包裹。
而不能是一个byte类型的数组。所以说参数错了。
他不产生IO流。所以不存在关流的closed()方法。希望对你有帮助。
|