begin process at 2010 02 10 00:13:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Réseau & Internet

 > 

Client -> Serveur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Client -> Serveur

lundi 1 septembre 2008 à 15:47:45 | Client -> Serveur

norton

Bonjour à tous.

N'étant pas encore assez expérimenté dans le domaine des sockets je vous demande conseil.
Je code sous Borland Builder C++ 6 avec les Socket (ClientSocket et ServerSocket).

J'arrive à me connecter à mon application serveur mais si depuis le serveur je veut répondre au client ça plante en me disant que je ne peut pas envoyer une trame car je suis pas connecté.

Code utilisé depuis le serveur vers le client
ServerSocket1->Socket->SendText("Test");

Quelqun peut m'aider ?

Bonne journée / soirée a tous.

Norton.


samedi 6 septembre 2008 à 17:12:10 | Re : Client -> Serveur

kiitos

Je t'enverrai deux fichiers client serveur lundi.
lundi 8 septembre 2008 à 08:35:52 | Re : Client -> Serveur

norton

Bonjour, merci bien à vous.
Bonne journée.
lundi 8 septembre 2008 à 08:47:56 | Re : Client -> Serveur

kiitos

Réponse acceptée !
serveur.c

#include <stdio.h>
#include <winsock2.h>

int main(int argc, char *argv[])
{
    WSADATA wsa;
    WSAStartup(MAKEWORD(2,0), &wsa);
    SOCKADDR_IN sin = {0};
    SOCKET sock;
    sock = socket(AF_INET, SOCK_STREAM, 0);
    sin.sin_addr.s_addr = htonl(INADDR_ANY);
    sin.sin_family = AF_INET;
    sin.sin_port = htons(125);
    bind(sock, (SOCKADDR*)&sin, sizeof(sin));
    listen(sock, 2);
    SOCKADDR_IN csin = {0};
    int size = sizeof(csin);
    SOCKET csock;
    csock = accept(sock, (SOCKADDR*)&csin, &size);
    char buffer[50];
    int x = 1;
    int error;
    int buf = 0;
    do
    {
        fgets(buffer, sizeof(buffer), stdin);
        send(csock, buffer, strlen(buffer), 0);
        do
        {
            buffer[buf] = '\0';
            buf++;
        }while(buf == 50);
        error = recv(csock, buffer, sizeof(buffer), 0);
        if(error != SOCKET_ERROR)
        {
            buffer[error] = '\0';
            printf("%s", buffer);
        }
        do
        {
            buffer[buf] = '\0';
            buf++;
        }while(buf == 50);
    }while(x);
    shutdown(csock, 2);
    closesocket(csock);
    closesocket(sock);
    WSACleanup();
}



client.c

#include <stdio.h>
#include <winsock2.h>

int main(int argc, char *argv[])
{
    WSADATA wsa;
    WSAStartup(MAKEWORD(2,0), &wsa);
    SOCKADDR_IN sin = {0};
    SOCKET sock;
    sock = socket(AF_INET, SOCK_STREAM, 0);
    sin.sin_addr.s_addr = inet_addr("127.0.0.1");
    sin.sin_family = AF_INET;
    sin.sin_port = htons(125);
    connect(sock, (SOCKADDR*)&sin, sizeof(sin));
    char buffer[50];
    int x = 1;
    int error;
    int buf = 0;
    do
    {
        error = recv(sock, buffer, sizeof(buffer), 0);
        if(error != SOCKET_ERROR)
        {
            buffer[error] = '\0';
            printf("%s", buffer);
        }
        do
        {
            buffer[buf] = '\0';
            buf++;
        }while(buf == 0);
        fgets(buffer, sizeof(buffer), stdin);
        send(sock, buffer, strlen(buffer), 0);
        do
        {
            buffer[buf] = '\0';
            buf++;
        }while(buf == 0);
    }while(x);
    closesocket(sock);
    WSACleanup();
}

lundi 8 septembre 2008 à 10:19:46 | Re : Client -> Serveur

norton

Bonjour, merci pour ce code.
Je vais l'étudier et je reviendrai sur ce poste si j'ai des questions.

Bonne journée.
Norton.

lundi 8 septembre 2008 à 17:59:35 | Re : Client -> Serveur

kiitos

J'ai fait quelques erreurs mais ça reste compilable.


Cette discussion est classée dans : code, serveur, client, socket


Répondre à ce message

Sujets en rapport avec ce message

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 programmation socket sous linux [ par blazman34 ] Bonjour à tous !!Voici mon probleme :Je suis en train de programmer une application client serveur sous linux, tout a bien marcher juska présent juska problème socket sous windows [ par kod32 ] Voici mon code : (winsock2.h)-----------------------------int main(){ /* inialisation */ WSADATA wsa; WSAStartup(MAKEWORD(2,0), &wsa); /* client & server [ par Stormy ] J'ai codé un serveur simple usant de TCP. Comme client j'utilise NetCat. Or, quand NetCat 'ferme', mon serveur ne détecte pas la clôture de la relatio Timeout TCP [ par alexixlebaulois ] Bonjour,j'ai un gros problème dans mon prog: j'ai plusieurs threads qui communiquent en même temps avec des logiciels externes pour récolter des stats Qd un Socket reçoit une trame erronée ... [ par valoue ] Bonjour,Je suis en train de développer una appli client serveur sous VC++, j'utilise des SOCKET.Le client et le serveur communiquent en s'envoyant des Client/Serveur, encore..... [ par glubust ] Je veux faire fonctionner une application client/serveur sous UNIX (client) et WINDOWS (serveur).Le programme client envoi une simple requête au serve connection client serveur avec MFC [ par Spiffou ] Bonjour à tous,j'avance petit à petit dans la programmation socket, mais je suis confronté à une nouvelle difficulté et j'ai une ou deux question sans


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales