2011-05-04 3 views
2

iPhone P2P 앱을 만들려고합니다. 다른 사람의 IP 주소와 포트 번호 (고정 된 포트 번호를 사용하려고합니다)를 알고 있다면 해당 사람이 속한 네트워크와 ISP 사용자가 사용하는 네트워크에 상관없이 해당 사람에게 패킷을 보낼 수 있습니까?목적지의 IP 주소와 포트 번호를 알면 패킷을 보낼 수 있습니까?

기본적으로 중앙 집중식 서버를 설정하고 사용자가 서버에 고정 IP 주소 (고정 된 포트 번호를 사용하려고합니다)를 업데이트합니다. 누군가에게 뭔가를 보내고 싶다면 서버에서 그 사람의 IP 주소를 가져 와서 소켓을 만들고 내가 원하는대로 소켓에 보낼 수 있습니다.

내가 다른 것을 고려해야한다면 ...

미리 감사드립니다.

답변

1

여기 고려해야 할 사항이 있습니다.

  1. 네트워크와 ISP는 사람이 자신의 서버가 될 것입니다 귀하의 경우에는
  2. 서버를 (물론 진행 등을 필터링 이상한 패킷이 아닌 경우) 문제가 무엇이든 구분하지 않습니다에 (우리를 속 'serverX'라고 부름). 서버는 서버에 연결하는 클라이언트 (iosA, iosB 등)에 연결하지 않습니다.
  3. 클라이언트의 ip와 포트는 중요하지 않습니다. (가장 가능성이 높음)
  4. 클라이언트가 서버에서 정보를 가져올 수 있습니다 (많은 라이브러리 또는 기술을 사용하여 ASIHttpRequest) 또는 서버가 알림 서비스를 통해 푸시 할 수 있습니다.
0

예. 그러나 장치가 Wi-Fi를 통해 연결된 경우 방화벽 뒤에있을 수 있습니다. 그리고 방화벽은 포워딩을 포트해야 할 수도 있습니다.

+0

이 문제를 방지하려면 포트 번호를 설정하는 가장 좋은 방법은 무엇입니까? – codereviewanskquestions

1

네, 그게 인터넷 주소 체계의 전부입니다.

0

코코아 비동기 소켓을 적극 권장합니다. 제 3 자 공개 소스 프로젝트입니다. https://github.com/robbiehanson/CocoaAsyncSocket

사이트를 시작하기위한 몇 가지 기본 예제 프로젝트가 있습니다. 나는이 프레임 워크에 대한 훌륭한 경험을 가지고있다.

다음을 확인할 수도 있습니다. http://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.html 표준 CFNetwork 안내서 및 지침입니다.

관련 문제