PcSchool.Club

パソコンを分かりやすく解説することを目指す無料のオンラインパソコン教室

岐阜のパソコン教室「パソコンスクール・テルン」

Java通信プログラムの作成

2022年7月5日

今回はJavaを利用した通信プログラムを作成していきます。
まずは以下の動画のように、サーバーサイドのプログラムを記述します。

つづけて、クライアントプログラムを作成し、クライアントからの接続要求に対し、サーバー側がacceptし、メッセージをクライアント側に送信します。
動画は以下です。

上記の動画は、サーバーからクライアントにメッセージを送信しましたが、その逆で、クライアントからサーバーにメッセージを送信してみましょう。
動画は以下です。

プログラムは以下のとおりです。

サーバーサイドのプログラム

import java.net.*;
import java.io.*;

class TestTushin_server{ //192.168.0.19
public static void main(String args[]) throws IOException{

                ServerSocket server=null;       //サーバーのソケットを作成 
               Socket client=null;
server=new ServerSocket(1234);
                client=server.accept(); //クライアントの接続要求を受付
                System.out.println(“接続を受け付けました”);
                PrintStream sp_out=new PrintStream(client.getOutputStream());
                sp_out.println(“サーバーからデータを送信しました”);

                BufferedReader sb_in;
                sb_in=new BufferedReader(new InputStreamReader(client.getInputStream()));               
System.out.println(sb_in.readLine());
}
}

クライアント側のプログラム

import java.net.*;
import java.io.*;
class TestTushin_client{ 
       public static void main(String args[]) throws IOException{

                Socket tushin;
                tushin=new Socket(“192.168.0.*”,1234);//ここのIPアドレスはipconfigでチェック
                BufferedReader b_in;
                b_in=new BufferedReader(new InputStreamReader(tushin.getInputStream()));
                String line;
                line=b_in.readLine();
                System.out.println(line);

                PrintStream p_out=new PrintStream(tushin.getOutputStream());
                p_out.println(“クライアントからデータを送信しました”);
                       

        }
}

最後に、相互に繰り返しメッセージを送受信するようプログラムを変更します。

以下、プログラムのソースになります。

●サーバー側のプログラムを以下のように追加します。
    String line;
    while(true){
        line=sb_in.readLine();
        if(line.equals("bye")){ break; }
        sp_out.println("ok");
        System.out.println(line);
    }
    System.out.println("通信終了");
    sp_out.close();
    sb_in.close();
    server.close();
    client.close();
●つづけてクライアント側のプログラムを以下のように追加します。
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String data;
    while(true){
        data=br.readLine();
        p_out.println(data);
        if(data.equals("bye")){ break; }
    }
    System.out.println("通信終了");
    b_in.close();
    p_out.close();
    tushin.close();

関連サイト

パソコン教室

パソコンスクール・テルン岐阜・穂積・大垣教室 楽しく学ぶ・通うパソコン教室あもる

パソコン修理・販売・買取・サポート

パソコンの修理・販売・買取・サポート