想用Java实现简单的UDP数据传输 但是服务器端老报错 Address already in use: Cannot bind
下面是代码 帮忙看下 谢谢
/******************客户端**********************************/
public static void main(String[] args) throws java.io.IOException
{
String localhost ="192.168.108.200";
BufferedInputStream inFromUser =
new BufferedInputStream(new FileInputStream("c:\\test.txt"));
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName(localhost);
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
//read data from inFromUser to sendData
while(inFromUser.read(sendData)!=-1)
{
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 8000);
clientSocket.send(sendPacket); }
inFromUser.close();
clientSocket.close();
}/***********************服务器端********************/ public static void main(String[] args) throws Exception {
BufferedOutputStream bufferedOutputStream =
new BufferedOutputStream(new FileOutputStream("d:\\test.txt"));
DatagramSocket serverSocket = new DatagramSocket(8000);
byte[] receiveData = new byte[1024];
byte[] sendData =new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
while(true)//循环的条件不知道该怎么定就用true了
{
bufferedOutputStream.write(receivePacket.getData());
}
}
下面是代码 帮忙看下 谢谢
/******************客户端**********************************/
public static void main(String[] args) throws java.io.IOException
{
String localhost ="192.168.108.200";
BufferedInputStream inFromUser =
new BufferedInputStream(new FileInputStream("c:\\test.txt"));
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName(localhost);
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
//read data from inFromUser to sendData
while(inFromUser.read(sendData)!=-1)
{
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 8000);
clientSocket.send(sendPacket); }
inFromUser.close();
clientSocket.close();
}/***********************服务器端********************/ public static void main(String[] args) throws Exception {
BufferedOutputStream bufferedOutputStream =
new BufferedOutputStream(new FileOutputStream("d:\\test.txt"));
DatagramSocket serverSocket = new DatagramSocket(8000);
byte[] receiveData = new byte[1024];
byte[] sendData =new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
while(true)//循环的条件不知道该怎么定就用true了
{
bufferedOutputStream.write(receivePacket.getData());
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货