怎么可以交换消息? _联网_

时间:2011-03-26 06:11:01

标签: java

我已将我的电脑设为服务器和客户端,并且能够将消息从一个cmd窗口传递到另一个窗口。 但是当我没有连接到互联网时,我仍然能够这样做。这怎么可能。? 这是我的代码。

import java.net.*;
 class tester {
  static int pos=0; 
  static byte buffer[]=new byte[100];

   static void Client() throws Exception {
   InetAddress address=InetAddress.getLocalHost();
  DatagramSocket ds=new DatagramSocket();
   while(pos<buffer.length) {
    int c=System.in.read();
    buffer[pos++]=(byte)c;
    if((char)c=='\n')
      break;
   }
  ds.send(new DatagramPacket(buffer,pos,address,3000));

}          
 static void Server() throws Exception {
 InetAddress address=InetAddress.getLocalHost();
 DatagramSocket ds=new DatagramSocket(3000,address);
 DatagramPacket dp=new DatagramPacket(buffer,buffer.length);
 ds.receive(dp);
 String s=new String(dp.getData(),0,dp.getLength());
 System.out.print(s);
}
 public static void main(String args[])throws Exception {
  if(args.length==1) {
 Client();  }
    else {
     Server();
    }
 }
}

1 个答案:

答案 0 :(得分:0)

你不明白第一个问题的答案吗?

您的计算机已启用网络。您的服务器正在侦听127.0.0.1,并且您的客户端正在发送到127.0.0.1。

如果尚未为您分配可路由的IP地址,

InetAddress.getLocalHost()将返回环回地址。