メッセージを送信すると、メッセージをループで実行した場合にのみ、サーバーによって出力されます。送受信でソケットエラーが発生する
1分後にメッセージを送信しようとしましたが、50回送信しましたが、サーバー側で何も印刷されませんでした。
私のエラーは何ですか?ここで
は、それがNetBeansで書かれた、私のコードです:package me.jackboyplay.sockets_client;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author JackboyPlay
*/
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = null;
try {
socket = new Socket("localhost", 5001);
} catch (IOException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
if(socket == null){
return;
}
DataInputStream dis = null;
PrintWriter dos = null;
try {
dis = new DataInputStream(socket.getInputStream());
dos = new PrintWriter(socket.getOutputStream());
} catch (IOException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
int x = 0;
Long l = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(5);
for(int i = 0; i < 50; i++){
dos.write("X: " + i);
}
}
}
package me.jackboyplay.jc_cloudsystem.mechaniken;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author JackboyPlay
*/
public class SocketClient extends Thread {
private Socket socket;
public SocketClient(Socket socket){
this.socket = socket;
System.out.println("Ein Client wurde akzeptiert.");
}
@Override
public void run() {
BufferedReader br;
PrintWriter pw;
try {
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
pw = new PrintWriter(socket.getOutputStream());
while(true){
String line = br.readLine();
System.out.println(line);
}
} catch (IOException ex) {
Logger.getLogger(SocketClient.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
クラス1は、サーバーにメッセージを送信するクライアントです。
クラス2は、メッセージを印刷するサーバーです。返すことはありませんのでreadLine()
、
flush()を追加した後、 –