PCをサーバーとクライアントの両方にしたい。これは私のコードです
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で実行します
java tester hello
が、プログラムは待機し続けます。入力したメッセージを受信するにはどうすればよいですか。
*コードに修正が必要な場合は、そのことを提案してください。目的は私のPCをサーバーとクライアントの両方にすることであることに注意してください。