안녕하세요 안드로이드 공부하는 학생입니다.
지금 자바서버와 안드로이드 소켓통신공부하는데
예제보면서 하는데도 계속 에러가 발생해서 질문드립니다.
서버(PC)와 안드로이드(폰)은 같은 네트워크상에 있는데도 서버열고 안드로이드로 실행하면
접속이 이뤄지질않습니다. 로그같이 첨부드리겠습니다
고수님들 답변부탁드립니다
//서버소스코드입니다.
public static void main(String[] args) throws IOException {
serverSocket = null;
clientSocket = null;
out = null;
in = null;
serverSocket = new ServerSocket(8090);
System.out.println("client wait...");
try{
clientSocket = serverSocket.accept();
System.out.println("client connected...");
out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
while(true){
String inputLine = null;
inputLine = in.readLine();
System.out.println("received client msg : " + inputLine);
out.print(inputLine + " - return message");
if(inputLine.equals("quit")){
System.out.println("client disconnected...");
break;
}
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
//클라이언트입니다
public class MainActivity extends Activity implements OnClickListener{
private Socket socket;
BufferedReader socket_in;
PrintWriter socket_out;
EditText ipEditText;
Button connectBtn;
TextView deName;
String data;
String serverIP;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ipEditText = (EditText)findViewById(R.id.ipEditText);
connectBtn = (Button)findViewById(R.id.connectBtn);
deName = (TextView)findViewById(R.id.deName);
connectBtn.setOnClickListener(this);
serverIP = "192.168...";
Thread worker = new Thread() {
public void run() {
try {
socket = new Socket(serverIP, 8090);
socket_out = new PrintWriter(socket.getOutputStream(), true);
socket_in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch(IOException e){
e.printStackTrace();
}
try {
while(true){
data = socket_in.readLine();
deName.post(new Runnable() {
public void run() {
// TODO Auto-generated method stub
deName.setText(data);
}
});
}
} catch(Exception e){
}
}
};
worker.start();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String data = ipEditText.getText().toString();
Log.v("test", " " + data);
if(data != null){
socket_out.println(data);
}
}
protected void onStop() {
super.onStop();
try{
socket.close();
} catch(IOException e){
e.printStackTrace();
}
}
}