안드로이드 TCP/IP 클라이언트 포트문제입니다..(몇몇 무선랜 IP에서 접속이안되요)

mmx822의 이미지

저번에도 올린적이 있습니다만..
저는 서버는 PC를 사용하고 클라이언트는 안드로이드 스마트폰을 써서 통신하는 프로젝트를 하는중인데요.
서버의 아이피가 유선인 경우는 통신이 잘되지만, 서버의 아이피가 LG U+Zone, 학교실습실AP, SKT Wifi 일 경우는 통신이 되지 않습니다.
안드로이드의 경우 최근 소켓통신을 할 때 AsyncTask나 Daemon Thread를 사용해야만 가능하도록 규정이 바뀐지라, AsyncTask도 Daemon Thread도 다 사용해보았지만, 여전히 통신이 되지 않는군요.

public class MainActivity extends Activity {
	private static String ip = "xxx.xxx.xxx.xxx"; // 서버 아이피 주소
	private static int port = 2150; // PORT 번호
	Socket socket;
	Handler h = new Handler();
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		ConnectThread connectThread = new ConnectThread();
		connectThread.start();
 
	}
 
	class ConnectThread extends Thread {
		public void run() {
			connect();
		}
	}
 
	private void connect() {
		try {
			socket = new Socket(ip, port);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
}

위는 테스트를 위해 간단히 만든 저의 안드로이드 클라이언트 코드입니다.
혹시 코드가 잘못된건 아닌지 하고 올린 것이니 참고해주세요.

학교ap나 U+Zone을 통해 교수님께 시연을 드려야하는데, 자꾸 이렇게 통신이 되지 않는 상황이 발생하니 미칠 것 같습니다.
고수분들 꼭 좀 도와주세요 ㅜ

mmx822의 이미지

통신 포트의 문제인가 싶어서 , 포트 또한 계속 바꾸고있지만 잘안됩니다.
어떤 분이 2000번대의 포트를 사용하면 잘될거다해서 2000번대 포트로도 해봤지만 잘되질 않네요..

익명 사용자의 이미지

해당 루트 공유가 차단한 경우일 것 같은데요.
회사의 경우, 외부에서의 접속은 불가능하지만, 내부 와이파이를 연결한 상태에서는 접속이 잘 되죠.
단순히 아이피와 포트의 문제는 아닐껍니다.

mirheekl의 이미지

학교 AP든 유플러스존이든 서버로서의 전용을 방지하기 위한 시스템이 들어있는 것으로 보입니다. (생각해보면 당연한 것이고요.) 헌데 이것은 해당 아이디어를 실제 상용화할 때에는 아무런 문제가 되지 않습니다. 그러니 그냥 간단히 서버랑 클라이언트를 같은 서브넷에 물린뒤 시연하시면 좋을것 같네요. 학교 AP든 유플러스존이든 그걸 이용하는 서브넷을 하나 구축하시고 서버 클라이언트를 모두 거기에 물리시면 됩니다.

아니면 교수님의 도움을 받아서 학교측에 요청을 하여 며칠간만 외부 연결이 가능한 IP를 받거나 포트를 매핑하시는 방법도 있겠네요.

시연 때 중요한 것은 아이디어이지 네트웍 연결상태가 아니라는 생각입니다.

--

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.