我想让我的电脑既是服务器又是客户端。这是我的代码
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(3000,address);
while(true) {
int c=System.in.read();
buffer[pos++]=(byte)c;
if((char)c=='\n')
break;
}
ds.send(new DatagramPacket(buffer,pos,address,3000));
Server();
}
static void Server() throws Exception {
InetAddress address=InetAddress.getLocalHost();
DatagramSocket ds=new DatagramSocket(3001,address);
DatagramPacket dp=new DatagramPacket(buffer,buffer.length);
ds.receive(dp);
System.out.print(new String(dp.getData(),0,dp.getLength()));
}
public static void main(String args[])throws Exception {
if(args.length==1) {
Client();
}
}
}
在这方面,我试图让我的计算机既是服务器又是客户端。
我在 cmd as 上运行这个程序,
java tester hello
但程序一直在等待。我应该怎么做才能收到输入的消息。?
*如果代码中有任何修改,请提出建议。请注意,目的是让我的电脑既是服务器又是客户端。