- 締切済み
サーバ/クライアントプログラム
クライアント側で dos.writeInt( 20 );で 20を書き込み サーバ側は期待どうり表示されますが クライアント側で さっき書いた20を 読み込んでるはずなんですが int recv = dis.readInt(); System.out.println( "書き込みデータ " + recv ); の部分が無視されるんですが なぜさっき書いた20が 読み込めないんでしょうか? 解説をお願いします //サーバプログラム import java.net.*; import java.io.*; class a{ public static void main( String args[] ) { System.out.println( "Ready!" ); try { ServerSocket ss = new ServerSocket( 5000 ); while( true ) { Socket so = ss.accept(); InputStream i = so.getInputStream(); OutputStream os = so.getOutputStream(); DataInputStream dis = new DataInputStream( i ); DataOutputStream dos = new DataOutputStream( os); int recv = dis.readInt(); System.out.println( "受信データ " + recv ); dis.close(); dos.close(); i.close(); os.close(); } }catch ( Exception e ) { } } } //クライアントプログラム import java.net.*; import java.io.*; class b{ public static void main( String args[] ) { try { Socket so = new Socket( "localhost", 5000 ); InputStream i = so.getInputStream(); OutputStream os = so.getOutputStream(); DataInputStream dis = new DataInputStream( i ); DataOutputStream dos = new DataOutputStream( os ); dos.writeInt( 20 ); int recv = dis.readInt(); System.out.println( "書き込みデータ " + recv ); dis.close(); dos.close(); i.close(); os.close(); }catch( Exception e ) { } } }
- みんなの回答 (1)
- 専門家の回答
お礼
どうも!