2010-09-18 6 views
0

J'ai besoin d'envoyer et d'obtenir des paquets via UDP et TCP dans les iPhones et le serveur. Mais, j'ai pensé que si je veux envoyer des paquets à un client (iPhone), il est ... Un peu un serveur. Donc, disons que j'envoie des paquets à l'iPhone via le port 2347. Ai-je besoin d'ouvrir le port sur l'iPhone ou quelque chose comme ça? Y a-t-il un pare-feu intégré à l'iPhone?Utiliser l'iPhone comme serveur TCP et UDP - ouvrir les ports?

+0

Par "paquets", voulez-vous dire "paquets"? Ces deux mots signifient différentes choses dans la programmation. –

+0

Je ne suis pas un pro en UDP et TCP, mais je veux dire les messages envoyés depuis et vers le client/serveur. –

Répondre

1

Aucun pare-feu sur l'iPhone. Cependant, 99% du temps, le téléphone n'aura pas une adresse IP accessible au public. Il peut être sur le wifi derrière un routeur, ou il peut être sur le réseau cellulaire le plus probablement derrière un pool NAT. Dans les deux cas, vous n'avez accès à aucun de ces équipements, ni à vos utilisateurs dans le contexte cellulaire (et potentiellement dans certains cas d'utilisation du wifi). Pensez à faire cela d'une autre manière.

+0

Hmmm .. Quelle est l'autre façon d'obtenir les pacgages? =/ –

+0

99% du temps est peut-être un peu exagéré. Chaque fois que le téléphone est sur un WiFi, les appareils sur le même WiFi peuvent se connecter directement à celui-ci bien sûr. – Nick

+0

L'application n'est pas pour les utilisateurs dans le même routeur, l'application est un MMORPG - les utilisateurs du lot de partout dans le monde obtenir et envoyer des pagacs au serveur principal. –

0

Par défaut, il n'y a pas de pare-feu sur l'iPhone. Pourvu que vous n'ayez pas besoin de l'iPhone pour agir comme serveur, par exemple, lier un port, vous pouvez demander au serveur d'envoyer des paquets à l'iPhone en utilisant les informations dans lesquelles ils ont été reçus, IP et port, en utilisant le protocole de votre choix, par exemple, TCP ou UDP.