これは私のコードです。私は2番目の方法(ReceiveMSG)なぜエラーではないことを教えてください?あまりにも接続されている接続CLIENT1の成功とCLIENT2後より明確にスレッドとソケットJavaの
、
このコードは間違ってしない理由は?実際には、このクラスがthreadReceive
の2つのオブジェクトが実行されている必要がありますので、なぜこのコードエラーではありませんか?
P.S.申し訳ありませんが私の英語は非常に貧しいです...これは私の最初のポストです記事=口= ||
public class Server{
String msgIN = null, msgOUT = "This is Server's respond.";
public Server(ServerSocket server){
System.out.println("Server created.\nWaiting for client to connect...");
while(!server.isClosed()){
try {
Socket client = server.accept();
System.out.println("Connect Prot:" + client.getPort());
ReceiveMSG(client);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void ReceiveMSG(final Socket socket) {
Thread threadReceive = new Thread(new Runnable() {
public void run() {
try {
while(socket.isConnected()){
DataInputStream dataIN = new DataInputStream(socket.getInputStream());
msgIN = dataIN.readUTF();
if(!msgIN.isEmpty())RespondMSG(socket);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
threadReceive.start();
}
private void RespondMSG(final Socket socket){
try {
DataOutputStream dataOUT = new DataOutputStream(socket.getOutputStream());
dataOUT.writeUTF(msgOUT);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(5678);
new Server(server);
}
}
ありがとうございました。とても役に立ちました!!!!!!!!! – Zillion