나는 서버 - 클라이언트 통신에 대해 배우고, 간단한 커뮤니케이터를 만들었지 만 작동하지만 서버에 하나의 메시지 만 보낼 수 있습니다. 나는 클라이언트에게서 더 많은 메시지를 보내고받을 수있는 가능성을 만드는 방법을 모른다. 나는 많은 옵션을 시도했지만 아무 것도 작동하지 않습니다.java - 클라이언트 - 서버 클라이언트에서 여러 메시지
내 코드는 다음과 같습니다. 클라이언트 : import java.io. ; import java.net.;
public class Klient
{
public static final int PORT=50007;
public static final String HOST = "127.0.0.1";
public static void main(String[] args) throws IOException
{
Socket sock;
sock=new Socket(HOST,PORT);
System.out.println("communication works: "+sock);
BufferedReader klaw;
klaw=new BufferedReader(new InputStreamReader(System.in));
PrintWriter outp;
outp=new PrintWriter(sock.getOutputStream());
System.out.print("<Sending:> ");
String str=klaw.readLine();
outp.println(str);
outp.flush();
klaw.close();
outp.close();
sock.close();
}
}
및 서버 :
// infinite loop
while (true) {
// ..receive or send commands here..
if (command.equals("exit") {
// exit from loop
}
}
은 또한 예외 처리를 추가 : 예
을 종료하기위한 코드 및 특수 명령 메인 루프를 추가 할 필요가
import java.io.*;
import java.net.*;
public class Serwer
{
public static final int PORT=50007;
public static void main(String args[]) throws IOException
{
ServerSocket serv;
serv=new ServerSocket(PORT);
System.out.println("listen for: "+serv);
Socket sock;
sock=serv.accept();
System.out.println("communication: "+sock);
BufferedReader inp;
inp=new BufferedReader(new InputStreamReader(sock.getInputStream()));
String str;
str=inp.readLine();
System.out.println("<it comes:> " + str);
inp.close();
sock.close();
serv.close();
}
}