Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1469 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Socket C++

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Socket C++

n°924281
Lord_VKing
Posté le 15-12-2004 à 18:16:39  profilanswer
 

Bonjours, je voudrais commencer une petite application en mode console, qui servirait simplement à établir une connexion entre 2 pc... mais honnetement coté réseau je connait que dale... On m'a orienté vers les sockets, qui peuvent transporté l'informations...  
 
Mais pour établir une connexion ne faut-il pas un serveur ? et comment je fait se serveur, qui recoit l'informations ?
 
Si je veut relier 2 pc, me faut un serveur qui redirige l'information ? ou les deux serais client ET serveur ?
 
Merci de votre futur aide... Le tout est en C++, en console, sous Windows, et pour simplement interchangé du text, un chat quoi...

mood
Publicité
Posté le 15-12-2004 à 18:16:39  profilanswer
 

n°924307
bjone
Insert booze to continue
Posté le 15-12-2004 à 18:28:04  profilanswer
 

en TCP/IP tu as un serveur et des clients
en UDP/IP tu as des peers on va dire (pas de notion client/serveur au niveau réseau)

n°924310
SomeBugsIn​Me
life suxx
Posté le 15-12-2004 à 18:29:57  profilanswer
 

bein, il y en a 1 qui fait serveur et l'autre client.
(edit: en tcp/ip)
 
Tu lances le serveur qui écoute sur un port de l'ordi.
Ensuite le client va se connecter au serveur (bien sûr, tu dois lui spécifier l'adresse et le port du serveur)
 
Il te faudrait lire quelques tutos à ce sujet.


Message édité par SomeBugsInMe le 15-12-2004 à 18:31:03
n°924314
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-12-2004 à 18:31:37  profilanswer
 
n°924315
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-12-2004 à 18:32:37  profilanswer
 

SomeBugsInMe a écrit :

bein, il y en a 1 qui fait serveur et l'autre client.
(edit: en tcp/ip)
 
Tu lances le serveur qui écoute sur un port de l'ordi.
Ensuite le client va se connecter au serveur (bien sûr, tu dois lui spécifier l'adresse et le port du serveur)


il faut que chaque machine soit à la fois client et serveur, sinon la communication ne se fera que dans un sens :o

n°924320
bjone
Insert booze to continue
Posté le 15-12-2004 à 18:34:12  profilanswer
 

bin non.
 
une fois la connexion établie, autant le serveur que les clients peuvent envoyer et recevoir des données.

n°924323
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-12-2004 à 18:38:18  profilanswer
 

bjone a écrit :

bin non.
 
une fois la connexion établie, autant le serveur que les clients peuvent envoyer et recevoir des données.

ben oui, mais le client devra également écouter les connections entrantes non :??:

n°924326
bjone
Insert booze to continue
Posté le 15-12-2004 à 18:41:32  profilanswer
 

non. ou alors je vois pas ce que tu veux dire. :??:
 
disons qu'en TCP/IP les clients ne peuvent communiquer qu'entre eux qu'à travers le serveur, et grâce au protocole de l'application si il le permet.


Message édité par bjone le 15-12-2004 à 18:42:31
n°924333
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-12-2004 à 18:50:25  profilanswer
 

bjone a écrit :

non. ou alors je vois pas ce que tu veux dire. :??:
 
disons qu'en TCP/IP les clients ne peuvent communiquer qu'entre eux qu'à travers le serveur, et grâce au protocole de l'application si il le permet.


ce que je veux dire en fait, c'est qu'apparemment, Lord_Viking veut développer une sorte d'appli P2P.
effectivement, dans le cas de protocoles comme par exemple IRC, le serveur écoute les connections des clients, et dés qu'un client envoie un message, il le dispatche aux autres clients.
comment gérer ça dans le cas de Lord_Viking ? imagine, tu as une machine A qui écoute et une machine B qui se connecte sur A.
A recevra la demande de connection de B, et lui répondra le cas échéant. maintenant, que se passe t'il si A essaie de se connecter sur B, étant donné que B n'a aucun socket d'écoute :??:
ne faut il pas dans ce cas, 2 sockets par machine ? un socket qui écoutera les connections entrantes (qui sera éventuellement exécuté dans un thread) et un autre qui sera créé dés qu'une connection entrante sera acceptée et qui sera chargé de répondre à 'autre machine ?

n°924338
Lord_VKing
Posté le 15-12-2004 à 18:53:00  profilanswer
 

Et comment j'ouvre mon port lol comme vous dites ? *noob*
 
Je sais pas si le principe est le meme mais pour commencer j'veut pas faire un IRC, j'veut simplement connecter et communiquer enre 2 pc... les deux recoivent et envoyent des messages à l'autres...


Message édité par Lord_VKing le 15-12-2004 à 18:56:22
mood
Publicité
Posté le 15-12-2004 à 18:53:00  profilanswer
 

n°924345
bjone
Insert booze to continue
Posté le 15-12-2004 à 18:56:04  profilanswer
 

Harkonnen a écrit :

ce que je veux dire en fait, c'est qu'apparemment, Lord_Viking veut développer une sorte d'appli P2P.
effectivement, dans le cas de protocoles comme par exemple IRC, le serveur écoute les connections des clients, et dés qu'un client envoie un message, il le dispatche aux autres clients.
comment gérer ça dans le cas de Lord_Viking ? imagine, tu as une machine A qui écoute et une machine B qui se connecte sur A.
A recevra la demande de connection de B, et lui répondra le cas échéant. maintenant, que se passe t'il si A essaie de se connecter sur B, étant donné que B n'a aucun socket d'écoute :??:
ne faut il pas dans ce cas, 2 sockets par machine ? un socket qui écoutera les connections entrantes (qui sera éventuellement exécuté dans un thread) et un autre qui sera créé dés qu'une connection entrante sera acceptée et qui sera chargé de répondre à 'autre machine ?


 
à bah là oui je veux bien.
enfin je sais pas, vue que Lord_Vking a pas l'air non plus d'être sûr de ce qu'il veut ;) :D

n°924349
Lord_VKing
Posté le 15-12-2004 à 18:57:19  profilanswer
 

J'veut, comme dit plus faire un petit chat à 2 pc... un ki écrit quelque chose et l'envoi à l'autre... et l'autre le recoit... ce doit pas etre tres complexe...

n°924350
bjone
Insert booze to continue
Posté le 15-12-2004 à 18:57:33  profilanswer
 

Lord_Vking >> tu veux faire ça, pour que ça marche sur internet ?
 
ou que ça marche par exemple uniquement en LAN ?
 
en LAN, tu peux te faire un chat en UDP par broadcast.


Message édité par bjone le 15-12-2004 à 18:57:49
n°924412
Lord_VKing
Posté le 15-12-2004 à 20:05:40  profilanswer
 

si possible par internet, vu que internet inclu le reseau ( via connexion internet ) mais que reseau n'inclu pas internet...

n°924627
xterminhat​e
Si vis pacem, para bellum.
Posté le 15-12-2004 à 23:41:20  profilanswer
 

Pour un chat rudimentaire (point à point), aucune connexion necessaire, juste un echange avec udp suffit : appels sendto(), rcvfrom().


---------------
Cordialement, Xterm-in'Hate...
n°924721
Lord_VKing
Posté le 16-12-2004 à 04:30:30  profilanswer
 

Ok.. et j'utilise sa comment c fonctions la.. ? j'pourrait avoir un ptit exemple tres simple... genre :::
 
sendto(111.111.111.111, "Allo" ); ... j'imagine c'est plus complexe, mais un ptit exemple serait aprécier, de meme que les librairies de ces fonctions..

n°924750
xterminhat​e
Si vis pacem, para bellum.
Posté le 16-12-2004 à 09:16:16  profilanswer
 

Sous win32 : #include<winsock.h> et link ton code avec WS2_32.lib. (lib winsock2).


---------------
Cordialement, Xterm-in'Hate...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Socket C++

 

Sujets relatifs
socket en C ...pourquoi mon socket est non bloquant ?
[SOCKET]Faire une action en cas de perte de connexion.select et socket enrobé de sucre (fdopen mode lecture) -> probleme ???
Réseau : quel formalisme pour les socket() ?[JAVA Socket] ou comment detecter qd un client s'est deconnecté?
les socketC++ Builder Socket Bloquant !
Java erreur de socket (win) 10106Reseau Socket - Problème de bind() dans un client/serveur local
Plus de sujets relatifs à : Socket C++


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR