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

소켓 통신 디바이스 연결 질문드립니다.

0 추천

지금 소켓통신을 공부하는 중입니다.

강의 보면서 따라해봤는데 에뮬레이터에서는 정상 작동하는데 디바이스에서는 작동되지않습니다.

이유를 알수 있을까요?

 

public class MainActivity extends Activity {
	Handler hd;
	TextView text;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Button requestButton = (Button) findViewById(R.id.requestVutton);
		text = (TextView) findViewById(R.id.text01);

		requestButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				RequestThread thread = new RequestThread();
				thread.start();
			}
		});

		hd = new Handler();
	}

	class RequestThread extends Thread {
		public void run() {
			request();
		}
	}

	private void request() {
		try {
			Socket socket = new Socket("192.168.0.83", 5001); // 서버를 생성함.
			showEditText("클라이언트 주소:192.168.0.83 , 5001");
			
			ObjectOutputStream outStream = new ObjectOutputStream(
					socket.getOutputStream());
			outStream.writeUTF("하이");
			outStream.flush();

			showEditText("하이 서버");
			
			ObjectInputStream insStream = new ObjectInputStream(
					socket.getInputStream());
			String inString = insStream.readUTF();

			showEditText("서버로 부터 받은 데이터 : " + inString);
			
			socket.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void showEditText(String msg) {
		final String inMsg = msg;
		hd.post(new Runnable() {
			@Override
			public void run() {
				text.append(inMsg + "\n");
			}
		});
	}
}

 

Hui (590 포인트) 님이 2013년 7월 10일 질문

1개의 답변

0 추천
IP를 공유기 내부아이피 사용하시네요.

폰도 3g나 4g쓰지 마시고. 와이파이 잡고 해보시길..
갸아악 (21,260 포인트) 님이 2013년 7월 10일 답변
...