2010-01-06 19 views
2

J'ai quelques téléphones et un autre couple de PC connectés à un point d'accès Wifi et j'ai besoin d'envoyer et de recevoir des messages entre les deux, je veux dire que n'importe qui peut envoyer un message à n'importe qui.Comment communiquer entre des appareils connectés à un point d'accès WiFi?

Je suis prêt à écrire des applications sur les téléphones (Symbian OS, plate-forme S60) ou PC (de Windows), mais ce que je ne comprends pas comment puis-je configurer un client ou d'un serveur, puisque tout L'un de ces appareils pourrait être un client ou un serveur.

Si je prises dois-je script pour ServerSockets et aussi Sockets sur chacun de ces dispositifs? Puis-je utiliser le protocole HTTP ?

Sinon, n'importe quel protocole standard que je pourrais utiliser pour implémenter cela?

Répondre

2

Vous diffuseriez des paquets UDP qui arrivaient sur chaque périphérique du réseau Wifi. Vous devrez inventer votre propre protocole pour décider de l'identité de chaque périphérique, car vous ne pourrez pas inférer facilement les adresses IP de vos périphériques réseau. Sans écrire un algorithme d'élection, vous auriez du mal à utiliser une architecture client/serveur, utilisez simplement le point à point (P2P).

Google pour les diffusions UDP et lisez les RFC pertinents sur ietf.org.

+0

Ah oups, n'a pas remarqué le "any to any" partie. Ouais, UDP sonne bien. – spieden

2

Il semble que vous soyez à la recherche d'une communication peer-to-peer assez typique sur IP. Je suppose que d'autres exigences dicteront quel transport vous utilisez (HTTP, sockets raw, etc), mais oui: Chaque nœud sera à la fois un client et un serveur. Vous pouvez éventuellement utiliser MDNS (http://www.multicastdns.org/) pour aider les nœuds à se trouver mutuellement d'une manière ad-hoc.

+0

que fait ce MDNS? Je n'ai pas vraiment compris le concept? –

+0

Je ne savais pas que vous vouliez juste faire de la diffusion. MDNS permettrait aux noeuds (téléphones, pc) de se découvrir par leur nom d'une manière ad-hoc, mais cela n'a pas d'importance si vous voulez simplement diffuser. – spieden