新手,想用UDP编写一个双向通信的小程序。代码如下
服务器端
import java.net.*;
import java.io.*;
public class UDPServer{
public static void main(String[] args){
new Send2().start();
new Receive2().start();
}
}class Send2 extends Thread{
public void run(){
try
{
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
DatagramSocket ds = new DatagramSocket(1234);
while(true){
String st = br.readLine();
byte[] buff = st.getBytes();
DatagramPacket dp = new DatagramPacket(buff,buff.length,new InetSocketAddress("192.168.1.106",6666));
ds.send(dp);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}class Receive2 extends Thread{
public void run(){
try
{
DatagramSocket ds = new DatagramSocket(6667);
while(true){
byte[] buff = new byte[64];
DatagramPacket dp = new DatagramPacket(buff,0,buff.length);
ds.receive(dp);
System.out.println("Client:  "+new String(buff,0,buff.length));
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
客户端
import java.net.*;
import java.io.*;
public class UDPClient{
public static void main(String[] args){
new Send1().start();
new Receive1().start();
}
}class Send1 extends Thread{
public void run(){
try
{
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
DatagramSocket ds = new DatagramSocket(1235);
while(true){
String st = br.readLine();
byte[] buff = st.getBytes();
DatagramPacket dp = new DatagramPacket(buff,buff.length,new InetSocketAddress("192.168.1.106",6667));
ds.send(dp);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}class Receive1 extends Thread{
public void run(){
try
{
DatagramSocket ds = new DatagramSocket(6666);
while(true){
byte[] buff = new byte[64];
DatagramPacket dp = new DatagramPacket(buff,0,buff.length);
ds.receive(dp);
System.out.println("Client:  "+new String(buff,0,buff.length));
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
客户端的代码和服务端的代码几乎是相同的。出现了Address already in use Exception
请问为什么会出现这个样子呢?
简而言之
如果服务器端通过192.168.1.1的1端口发送,2端口接收.
而客户端通过192.168.1.的1端口接收,2端口发送
为什么会出现Address already in use Exception呢??
求各位大神帮忙解答