要帮别人改一个程序,需要实现UDP的接收。还要做一个虚拟的发送模块。
老天啊,对JAVA从来都没有碰过啊。能否提供一些什么支援,最好有实例的。谢谢各位了。
如果能够解决问题,追加300送上

解决方案 »

  1.   

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;public class DGSServer {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
    System.out.println("Start server...");
    DatagramSocket s=new DatagramSocket(10000);
    byte[] data=new byte[100];
    DatagramPacket dgp=new DatagramPacket(data,data.length);
    while(true){
    s.receive(dgp);
    System.out.println(new String(data).trim());
    s.send(dgp);
    }
    }
    catch(IOException e){
    System.out.println(e.toString());
    }
    }
    }import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;public class DGSClient {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String host="localhost";
    DatagramSocket s=null;
    try {
    s=new DatagramSocket();
    byte[] buffer=new String("Send me a datagram").getBytes();
    InetAddress ia=InetAddress.getByName(host);
    DatagramPacket dgp=new DatagramPacket(buffer,buffer.length,ia,10000);
    s.send(dgp);

    byte [] buffer2 = new byte [100];
    dgp=new DatagramPacket(buffer2,buffer2.length,ia,10000);
    s.receive(dgp);
    System.out.println(new String(dgp.getData()));
    }
    catch (IOException e) {
    // TODO: handle exception
    System.out.println(e.toString());
    }
    finally{
    if(s!=null)
    s.close();
    }
    }}
      

  2.   

    f_acme(沧海一声笑) :
    不需要监听一类的吗?我使用的服务器那一段程序,运行到s.receive(dgp);遇到断点停了,但后面循环里面的代码好像都不运行了。遇到断点也不停。
      

  3.   

    to yuanscar(塑料树):
    那个DGSServer就是服务器的监听啊,运行到s.receive(dgp);遇到断点停,那时因为没有客户端的连接,它就在等待客户端的连接,处于阻塞状态中。
    下面的那个DGSClient就是客户端,一连接的话,服务器端就有反应了。