私の仕事を説明しましょう。
サーバーからクライアントにファイルを送信する必要があります。サーバーでは、クライアントからの接続を受け入れ、接続を閉じませんでした。ここで、データをストリームとしてクライアントに送信する必要があります。
これでコンテンツを選択し、メソッドでファイルに書き込みました。
入力ストリームでファイルをクライアントに送信する必要があるsendメソッドがあります。どのように送信します?
public static void main(String args[])
{
int port=5000;
while(true)
{
try
{
ServerSocket ser=new ServerSocket(port+10);
System.out.println("CLIENT A IS CONNECTED");
ser.close();
}
catch(Exception e)
{
System.out.println(e);
}
try
{
ServerSocket ser1=new ServerSocket(port+20);
ser1.accept();
System.out.println("CLIENT B IS CONNECTED");
}
catch(Exception e)
{
System.out.println(e);
}
try
{
ServerSocket ser2=new ServerSocket(port+30);
ser2.accept();
System.out.println("CLIENT C IS CONNECTED");
}
catch(Exception e)
{
System.out.println(e);
}
try
{
ServerSocket ser3=new ServerSocket(port+40);
ser3.accept();
System.out.println("CLIENT D IS CONNECTED");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
メイン メソッドでは、すべてのクライアント リクエストを受け入れました。
private void jButton1ActionPerformed1(java.awt.event.ActionEvent evt) //sendbutton
{
try
{
FileReader buf=new FileReader("e:\\input.txt");
int port= // the port of client which I selected to send the data
try
{
@SuppressWarnings("resource")
ServerSocket ser=new ServerSocket(port);
Socket soc=ser.accept();
BufferedReader toclient=new BufferedReader(buf);
DataOutputStream dos=new DataOutputStream(soc.getOutputStream());
System.out.println(dos.toString());
dos.flush();
dos.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
今私の質問は、私はすでにポートを開いており、メインメソッドで接続が確立されているということです。sendbutton メソッドでデータを受信するクライアントを選択して、サーバーからクライアントにデータを送信する必要があります。ソケット オブジェクト serv1 を send メソッドにチェックまたは渡す方法がわかりません。