Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

2 comandos por socket, ¿se puede?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: 2 comandos por socket, ¿se puede? Responder citando

Hola, el problema que tengo esque hasta ahora me vasaba en un sistema de comandos en aplicaciones cliente servidor: el cliente mandaba un mensaje al servidor :

Socket->SendText("ventana");

y luego el servidor lo interpretaba :

AnsiString mensaje = Socket->ReceiveText();
if(mensaje == "ventana") ShowMessage("Soy una ventana");

Pero ahora el problema que tengo esque quiero que mande dos cosas porque quiero que mande un comando el cliente al servidor que diga que quiere entrar en una url por ejemplo: Socket->SendText("URL");
y luego el servidor sabe que tiene que entrar en una URL por el if.
¿Pero como se hace para decirle al servidor que quiere entrar en una URL y encima decirle que URL es?
Al principio supongo que no habreis entendido casi nada pero esque hago unas preguntas un tanto raras, Rolling Eyes . A ver si me podeis responder por favor.
_________________
Si me quieres retar, aceptare.
Entra en http://www.exides.net, el mejor MMOG de españa!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

La unica opcion que veo, es las siguiente, como enviar una cadena de caracteres y un caracter de separacion.. ejemplo

Socket->SendText("URL;www.google.com");

utilizas una funcion para dividir la cadena, y te quedaria asi

1.- URL
2.- www.google.com

y la funcion es esta...


Código:
//*******************funicion que divide una cadena  a partir de un caracter ****
TStrings *__fastcall DivideCadena(AnsiString ctmp, AnsiString LetraDivisora){
   TStringList *ArregloCadena = new TStringList();
    int pos=ctmp.Pos(LetraDivisora);
    if(pos!=0){
        ArregloCadena->Add(ctmp.SubString(1,pos-1));
        ctmp=ctmp.SubString(pos+1,ctmp.Length());
        pos=ctmp.Pos(LetraDivisora);
        while (pos!=0){
            if (pos!=0){
                ArregloCadena->Add(ctmp.SubString(1,pos-1));
                ctmp=ctmp.SubString(pos+1,ctmp.Length());
            }
        pos=ctmp.Pos(LetraDivisora);
        }
        ArregloCadena->Add(ctmp.SubString(1,ctmp.Length()));
    }else{
          ArregloCadena->Add(ctmp);
    }
  return (ArregloCadena);
}


una forma de usarla seria, en donde recibes el mensaje..

AnsiString mensaje = Socket->ReceiveText();
Código:
DivideCadena(mensaje,";")->Strings[0]; // URL
DivideCadena(mensaje,";")->Strings[1]; // www.google.com


Bien espero que te sirva
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: re Responder citando

Muchas gracias por la ayuda!! me ha servido de mucho Very Happy Very Happy
_________________
Si me quieres retar, aceptare.
Entra en http://www.exides.net, el mejor MMOG de españa!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.