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

안드로이드 소켓 unconnected 문제

0 추천
안녕하세요 안드로이드(클라이언트)/c 소켓 통신을 구현하고 있습니다.
socket 함수를 사용하여 커넥션을 시도하고 있지만 계속해서 unconnected 문제가 발생하여 질문드립니다.
manifest파일에 permission 부분 추가하였고 방화벽 문제도 해결했습니다. 그리고 스레드 대신 AsyncTask를 사용하였구요..
자바 파일로 작성할 때는 정상 작동하지만 안드로이드에서는 안되네요 ㅠㅠ 도와주세요
@Override
	protected Object doInBackground(Object... params) {
		SocketAddress servAddress=new InetSocketAddress(ipAddress,port);
		try {
			socket=new Socket();
			socket.connect(servAddress);

		} catch (UnknownHostException e) {
			Log.d("error", "1");
			e.printStackTrace();
		} catch (IOException e) {
			Log.d("error", "2");
			e.printStackTrace();
		}finally{
			try {
				socket.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}//무조건 연결 종료
		}
		return null;
	}

다음은 로그부분입니다.

05-06 22:08:22.100: W/System.err(22386): java.net.ConnectException: failed to connect to /127.0.0.1 (port 9192): connect failed: ECONNREFUSED (Connection refused)
05-06 22:08:22.110: W/System.err(22386): at libcore.io.IoBridge.connect(IoBridge.java:114)
05-06 22:08:22.120: W/System.err(22386): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
05-06 22:08:22.120: W/System.err(22386): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:460)
05-06 22:08:22.120: W/System.err(22386): at java.net.Socket.connect(Socket.java:833)
05-06 22:08:22.120: W/System.err(22386): at java.net.Socket.connect(Socket.java:786)
05-06 22:08:22.120: W/System.err(22386): at com.example.homecctv.Login_Check.doInBackground(Login_Check.java:87)
05-06 22:08:22.130: W/System.err(22386): at android.os.AsyncTask$2.call(AsyncTask.java:292)
05-06 22:08:22.130: W/System.err(22386): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-06 22:08:22.130: W/System.err(22386): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:235)
05-06 22:08:22.130: W/System.err(22386): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-06 22:08:22.140: W/System.err(22386): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-06 22:08:22.140: W/System.err(22386): at java.lang.Thread.run(Thread.java:841)
05-06 22:08:22.140: W/System.err(22386): Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused)
05-06 22:08:22.140: W/System.err(22386): at libcore.io.Posix.connect(Native Method)
05-06 22:08:22.140: W/System.err(22386): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85)
05-06 22:08:22.140: W/System.err(22386): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
05-06 22:08:22.140: W/System.err(22386): at libcore.io.IoBridge.connect(IoBridge.java:112)
 

 

(240 포인트) 님이 2015년 5월 6일 질문
에러가 커넥션 문제이므로 다음 사항을 점검하셔야 할 듯 합니다.
서버쪽이 제대로 동작하고 있는지
방화벽 등의 문제를 다시 한번 점검해 보시구요.
안드로이드 쪽에서 제대로된 인터넷 커넥션을 사용하고 있는지 등. (자바랑 테스트 환경이 달라질 수 있기 때문에)

더 정확한 진단을 위해서 tcpdump과 같은 네트웤 패킷 모니터링 하는 프로그램을을 이용해 보세요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...