Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Sockets [ Windows / Réseau & Internet ] (faucheuse)

mardi 22 janvier 2008 à 10:27:03 | Sockets

faucheuse

Bien le bonjour amis programmeurzz,

J'etudie actuellement l'informatique et pour les besoins de mes etudes(et surtout pour mon plaisir) j'ai commencé à étudier la socket en C++(sous C++builder6)...bon bon d'accord ma vie est ininterressant ^^.

J'ai essayer de faire un chti programme tout bete : un client avec un emplacement de texte et un bouton, et un serveur pareil, le client envoyant le message "bonjour" au serveur qui doit normalement l'afficher dans son emplacement texte.

Apres quelques heures, j'ai enfin reussi a faire tourner le programme sans aucun message d'erreur mais le serveur n'affiche pas le message (je ne suis meme pas sur qu'il le recoivent.

Pourriez vous m'aidez svp?

Le code du client :

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//tout ca est ajouter par BuilderC++

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Client->Socket->LocalHost;
Client->Open();
Client->Active=true ;

if (Client->Socket->Connected == true)
{
Edit1->Text="conect";
Client->Socket->SendText("bonjour");
}
else
{
Edit1->Text="non connect";
}

}

et le code du serveur :

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//Ajouter par BuilderC++

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Server->Active=true;

}

void __fastcall TForm1::ServerClientWrite(TObject *Sender,
TCustomWinSocket *Socket)
{
Edit1->Text=Server->Socket->ReceiveText();
}

Voila merci d'avance

mardi 22 janvier 2008 à 10:46:51 | Re : Sockets

DeAtHCrAsH

Salut,
Premiere chose a savoir. Dans une application client/serveur, deux paramètres sont obligatoires : le numéro de port sur lequel tu vas comuniquer, et l'IP du serveur d'écoute.
Dans ton exemple tu ne spécifie a aucun moment le port d'écoute pour le serveur.

Deuxieme chose, je ne connais pas la VCL mais je pense qu'il est inutile de faire un Open puis un Active (l'Active doit surement appeller l'Open)... Bah oui Borland aime bien faire dans la dentelles.

Sinon si je peux te donner un conseil, c'est de laisser tonmber la VCL et autre boite a légo du genre.
Essaye toi plutot au C/C++ en API, tu trouveras d'ailleurs beaucoup d'exemple sur ce site.
Dans mes sources il y a un exemple d'application client/serveur uniquement faite en API Win32.

Shell

mardi 22 janvier 2008 à 10:54:11 | Re : Sockets

faucheuse

Merci pour ton aide, je vais voir ce que je peut faire pour le serveur d'ecoute, concernant la VCL je suis obligé de l'utiliser pour l'instant, quand j'aurai fini ce boulot je verrais certainement l'API(et foncerai sur tn article )


mardi 22 janvier 2008 à 10:57:04 | Re : Sockets

DeAtHCrAsH

J'oublais,

Dans la partie serveur, dans le ButtonClick, ajoute ca avant le Active = true :
Server->Port = 9876;

Dans la partie cliente, dans le button click ajoute ca avant le Active = true :
Client->Port = 9876;
Client->Host = "127.0.0.1";

Tu peux supprimer le Open() après vérification il est inutile si tu utilises déjà le Active.

Shell



Cette discussion est classé dans : client, socket, fastcall, tform1, pragma


Répondre à ce message

Sujets en rapport avec ce message

bug sur rs232 [ par yo972 ] salut !j'ai réalisé un programme sur la rs232 sur C++Builder,je dois envoyer un chiffre sur la ligne rs232.j'ai réussi à l'exécuter une fois mais aprè Problème de socket à la connexion avec application Client/Serveur (Borland C++ Builder) [ par ThripS ] Bonjour, je me suis fait un début d'application client/serveur avec Borland C++ Builder mais à la connexion du client j'ai une erreur de socket peu im recvfrom + udp + '\n' [ par vegetaline ] salutune appli client / serveur sous linux qui communique (enfin qui essaye) avec des sockets INTERNET en mode NON CONNECTE (en udp :)pb -> le recvfro Tutorial - Socket, serveur, client BCPP + GUI [ par NyxArm ] Bonjours tout le monde, je suis présentement en période d'appretissage du language CPP sur Borland(v.6). Maintenant que j'ai acquis quelque conna Evènement sur un socket client [ par darsh99 ] J'aimerais savoir si la méthode utilisée par BlackGoddess pour son serveur (http://www.cppfrance.com/article.aspx?ID=1287) est récupérable pour gérer Thread et socket besoin de conseil [ par kawito ] Salut,je desire realiser un client/serveur TCPle probleme est que les fonctions accept et recv sont bloquante.donc cela bloque l'affichage etc...mon p Socket + http [ par Akylon ] Voila je veux recuperer des documents par le protocole http avec la fonction suivante: void traitement(SOCKET client){ int lg; char* requete="GE CDialog + Sockey ? [ par mickeydisn ] je suis entrin de realiser une application un a serveur Socket en Consol . L'application console pas de PB . Le clien j'ai cree une forme avec un edit Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS Winsock simple... [ par DeAtHCrAsH ] Comment faire pour que le serveur puisse gerer plusieurs client a la fois ?Dois-je declarer autant de socket qu'il y a de client ?Ou y a t'il un equiv


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.