我用UDP传文件while(inFromFile.read(sendb) != -1){
DatagramPacket sendPacket = new DatagramPacket(sendb, sendb.length, ipAddr, port);
serverSocket.send(sendPacket);
}
其中,byte[] sendb = new byte[1024];那我应该怎么接收?byte[] b = new byte[1024];
DatagramPacket recvPacket = new DatagramPacket(b, b.length);
while(true){
clientSocket.receive(recvPacket);
}我这样接收,却不知道怎么判断接收完毕。望指教!
DatagramPacket sendPacket = new DatagramPacket(sendb, sendb.length, ipAddr, port);
serverSocket.send(sendPacket);
}
其中,byte[] sendb = new byte[1024];那我应该怎么接收?byte[] b = new byte[1024];
DatagramPacket recvPacket = new DatagramPacket(b, b.length);
while(true){
clientSocket.receive(recvPacket);
}我这样接收,却不知道怎么判断接收完毕。望指教!
DatagramSocket socket=new DatagramSocket(4567);
byte[] b = new byte[1024];
DatagramPacket recvPacket = new DatagramPacket(b, b.length);
//这里可以起另一个线程来将flag设置为false,或者你定义一些相关的事件发生,执行方法把flag设置为false
while(flag){
socket.receive(recvPacket);
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class UdpTest1
{
public static void main(String[] args) throws Exception
{
DatagramSocket socket = new DatagramSocket(); String str = "hello world"; DatagramPacket packet = new DatagramPacket(str.getBytes(),
str.length(), InetAddress.getByName("localhost"), 7000);
socket.send(packet);
byte[] buffer = new byte[1000];
DatagramPacket packet2 = new DatagramPacket(buffer,100);
socket.receive(packet2);
System.out.println(new String(buffer, 0, packet2.getLength()));
socket.close();
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;public class UdpTest2
{
public static void main(String[] args) throws Exception
{
DatagramSocket socket = new DatagramSocket(7000); byte[] buffer = new byte[1000]; DatagramPacket packet = new DatagramPacket(buffer, 1000); socket.receive(packet); System.out.println(new String(buffer, 0, packet.getLength())); String str = "welcome"; DatagramPacket packet2 = new DatagramPacket(str.getBytes(),
str.length(), packet.getAddress(), packet.getPort());
socket.send(packet2);
socket.close();
}
}
服务器根据这些标记知道传输完成了没有