0
私はソケットプログラミングに新しく、例外処理の問題を解明しようとしています。プログラムの実行時にコードのreadLine部分が例外エラーを発生させるため、javaのクライアントから文字列メッセージをサーバーに送信できません。私はServerクラスでExceptionを投げてみましたが、サーバープログラムを実行しているときに赤い下線付きのコードエラーは表示されませんでしたが、サーバープログラムの後にクライアントプログラムを実行すると例外が発生しました。何が原因だろうか?ReadLine例外を使用したJavaハンドリングにおけるソケットプログラミング
私のクライアントコード:
package com.soc;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
public class socClient {
public static void main(String[] args) throws Exception{
String ip = "localhost";
int port = 9999;// 0-1023 to 65535
Socket s = new Socket(ip,port);
String str = "Hello World";
OutputStreamWriter os = newOutputStreamWriter(s.getOutputStream());
PrintWriter out = new PrintWriter(os);
os.write(str);
os.flush();
}
}
私のサーバーコード:
package com.soc;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class socServer {
public static void main(String[] args) throws Exception{
System.out.println("Server is started");
ServerSocket ss = new ServerSocket(9999);
System.out.println("Server is waiting for client request");
Socket s = ss.accept();
System.out.println("Client connected");
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = null;
str = br.readLine();
System.out.println("Client Data: " +str);
}
}
s.close()を追加しました。私のクライアントコードの終わりに、それは働いた、ありがとう! – ErenL