Java에서 클라이언트 - 서버 예제를 구현하는 간단한 프로그램 예를 java에서 발견했습니다.소켓 프로그래밍 - 클라이언트 - 서버 코드가 작동하지 않습니다.
클라이언트 코드 :
import java.io.*;
import java.net.*;
public class ClientDemo {
public static void main(String[] args) {
try {
Socket sock = new Socket ("127.0.0.1", 4321);
DataInputStream input = new DataInputStream(sock.getInputStream());
boolean more_data = true;
while (more_data) {
String line = input.readLine();
if(line==null) {
more_data = false;
}
else {
System.out.println(line);
}
}
}
catch (IOException e) {
}
}
}
서버 코드 :
import java.io.*;
import java.net.*;
public class SimpleServer
{
public static void main(String[] args)
{
try
{
ServerSocket server = new ServerSocket (4321);
Socket sock = server.accept();
DataInputStream inp = new DataInputStream (sock.getInputStream());
PrintStream out = new PrintStream (sock.getOutputStream());
output.println("server message");
output.println("QUIT to Quit");
boolean more_data = true;
while (more_data)
{
String line = inp.readLine();
if(line==null)
{
more_data = false;
}
else
{
output.println("Server:" +line+"\n");
if(line.trim().equals("Exit")
{
more_data = false;
}
}
}
sock.close();
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
먼저 다음 클라이언트 서버를 실행할 때, 나는 환영 메시지를 얻을 수 있지만, 텍스트를 입력 할 때 클라이언트 콘솔이 Enter 키를 누르면 아무 일도 일어나지 않습니다.
필자는 Readline이 더 이상 사용되지 않지만 동일한 동작을하는 문서 에서처럼 BufferedInputStream의 DataInputStream을 교체하려고 시도했지만 더하기 다음 객체와 함께 scanner 객체로 변경하려고 시도했습니다.
귀하의 의견은 대단히 감사하겠습니다.
것은이 답변 http://stackoverflow.com/questions/22881227/what-would-be-the-code-for-this/22881978#22881978를 참조 – drkunibar
@drkunibar : 감사합니다,하지만 난하지 않았다 해당 솔루션을 제가 제공 한 코드와 연관시킵니다. 제 코드에 좀 더 구체적으로 설명해 주시겠습니까? 이 예제가 작동하려면 무엇을 변경해야합니까? – theexplorer
콘솔 판독기가없고 서버에 데이터를 보내지 않는 사람이 누구입니까 – drkunibar