마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 서버문제 고수님들 부탁드리겠습니다.

0 추천

바쁘시겠지만 염치없이 질문드려봅니다.

 

서버클라이언트 구현중에

 

서버부분 책보고 짰는데

 

액티비티 전환되거나 null값을 줄경우 서버가 종료됩니다.

 

서버부분 소스입니다.

 

package andserver;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 
public class ServerTest {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
Socket clientSocket = null;
PrintWriter out = null;
BufferedReader in = null;
 
serverSocket = new ServerSocket(5555);
 
try {
clientSocket = serverSocket.accept();
System.out.println("Client connect");
out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(
clientSocket.getInputStream()));
while (true) {
String inputLine = null;
inputLine = in.readLine();
System.out.println("클라이언트로부터 받은 문자열 : " + inputLine);
out.println(inputLine);
if (inputLine.equals("quit"))
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
 
보기힘드시겠지만 부탁드리겠습니다.
 
저기 while 안에 if문을 삭제하면 빨간밑줄생기는것도 이해가안되구요
 
일단 널값이 들어오면 NULLPOINTECETION이 발생하고 서버가 중단되는데
 
널값이 들어와도 서버가 안죽게할수있을까요
 
코드 수정해주시면 감사하지만
 
귀찮으시다면 조언부탁드립니다.
 
 
아 그리구요  한글은 제대로 표기가안되네요
 
gg 하면 gg나오는데
 
ㅎㅎ하면  이상한 상형문자같은걸로나오는데
 
ㅠㅠ 
안드로이드개빡 (770 포인트) 님이 2015년 5월 27일 질문
안드로이드개빡님이 2015년 5월 27일 수정

1개의 답변

0 추천

if (inputLine != null && inputLine.equals("quit"))

aucd29 (218,390 포인트) 님이 2015년 5월 27일 답변
한글 Encoding 맞춰주기
예외처리로 넘어가기때문에 이런건 아니에여 ㅠㅠ
exception 올리세요

inputLine 이 null 이면 equals 가 될수 없기 때문에 null ptr exception 인지 확인하세요
...