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

웹에서 접속한 사용자를 어플로 사용자 ip를 알아내는방법

0 추천

제가 IPCAM 오픈소스를 구해서 구현을 했는데

웹으로 이 IPCAM IP에 접속해서 카메라는 볼 수 있잖아요.

근데 이 IPCAM에 화이트리스트 기능을 추가해서 IPCAM에서 등록한 IP만 접근이 가능하도록 하고 싶은데

그럴려면 뭐 배열을 이용해서 웹으로 접근하는 IP 캐치해서 배열에 등록되어있는 IP랑 비교해서 틀리면 접근 안되게 하면 되잖아요>?

 

while(true){
    try{
    receiver.connect(new LocalSocketAddress(localAddress));
    LocalSocket sender = lss.accept();
    LocalSocketAddress IPaddr = sender.getRemoteSocketAddress();    
    System.out.println(IPaddr);
    }
 
이렇게 IPaddr에 사용자 IP가 들어가게 했는데  
LocalSocketAddress IPaddr = sender.getRemoteSocketAddress();     이 부분에서 막혀서 앱이 실행이 안되는데 잘못하고있는건가요??
대블랙 (260 포인트) 님이 2014년 9월 23일 질문

1개의 답변

0 추천
 
채택된 답변
public GreetingServer(int port) throws IOException
   {
      serverSocket = new ServerSocket(port);
      serverSocket.setSoTimeout(10000);
   }
 
   public void run()
   {
      while(true)
      {
         try
         {
            System.out.println("Waiting for client on port " +
            serverSocket.getLocalPort() + "...");
            Socket server = serverSocket.accept();
            System.out.println("Just connected to "
                  + server.getRemoteSocketAddress());
            DataInputStream in =
                  new DataInputStream(server.getInputStream());
            System.out.println(in.readUTF());
            DataOutputStream out =
                 new DataOutputStream(server.getOutputStream());
            out.writeUTF("Thank you for connecting to "
              + server.getLocalSocketAddress() + "\nGoodbye!");
            server.close();
         }catch(SocketTimeoutException s)
         {
            System.out.println("Socket timed out!");
            break;
         }catch(IOException e)
         {
            e.printStackTrace();
            break;
         }
      }
   }


서버단 프로그램 예제인데요
클라이언트가 접속하면 접속한 아이피 주소를 출력하고
클라이언트에서 들어온 데이터도 화면에 출력하고
마지막으로 Thank you for connecting ... 
이것를 클라이언트에게 전송하는 간단한 예제입니다


doridori2013@nate.com
 

 

익명사용자 님이 2014년 9월 23일 답변
대블랙님이 2014년 9월 23일 채택됨
도움 주셔서 감사합니다.
...