Aller au contenu

Pourquoi mon cout n'affiche rien...?


LePhasme

Messages recommandés

Bonjour j'ai fait un petit serveur soap d'exemple pour la gestion d'une calculatrice, seulement bizarrement je dois mettre des printf pour avoir un affichage, les cout sont tout simplement ignorés.

J'ai vérifié dans soapH.h aucune référence au cout et encore moin dans ns.nsmap.

Commande de compilation :

g++ -g -ggdb -DDEBUG calc.cpp soapC.cpp soapServer.cpp -c -o -I /usr/local/include/

#include "soapH.h"
#include "ns.nsmap"
#include <iostream>

int main(int argc, char * args[])
{
  struct soap soap;
  int m, s; // master and slave sockets
  soap_init(&soap);
  std::cout << "initialisation" << std::endl; // n'affiche rien :s
  soap.bind_flags=SO_REUSEADDR;
  m = soap_bind(&soap, "localhost", 9010, 100);
  if (m < 0)
  soap_print_fault(&soap, stderr);
  else
  {
  fprintf(stderr, "Socket connection successful: master socket = %d\n", m);
  for (int i = 1;; i++)
  {
	 s = soap_accept(&soap);
	 if (s < 0)
	 {  fprintf(stderr,"ERREUR\n");
		soap_print_fault(&soap, stderr);
		break;
	 }
	 fprintf(stderr, "%d: accepted connection from IP=%d.%d.%d.%d socket=%d", i,
		(soap.ip >> 24)&0xFF, (soap.ip >> 16)&0xFF, (soap.ip >> 8)&0xFF, soap.ip&0xFF, s);
	 if (soap_serve(&soap) != SOAP_OK) // process RPC request
		soap_print_fault(&soap, stderr); // print error
	 else
	 fprintf(stderr, "request served\n");
	 soap_destroy(&soap); // clean up class instances
	 soap_end(&soap); // clean up everything and close socket
  }
  }
  soap_done(&soap); // close master socket and detach environment
} 

int ns__add(struct soap *soap, double a, double b, double *result)
{
  *result = a + b;
  return SOAP_OK;
}
// Implementation of the "sub" remote method:
int ns__subtract(struct soap *soap, double a, double b, double *result)
{
  *result = a - b;
  return SOAP_OK;
}

int ns__multiply(struct soap *soap, double a, double b, double *result)
{
  *result = a * b;
  return SOAP_OK;
}
// Implementation of the "sub" remote method:
int ns__divide(struct soap *soap, double a, double b, double *result)
{
  *result = a / b;
  return SOAP_OK;
}

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...