 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
alex_999 Ens

Registrado: 05 Mar 2005Mensajes: 46Ubicación: Ceuta
|
Publicado: Dom 20 Mar, 2005 1:09 pm Asunto: 2 comandos por socket, ¿se puede? |
|
|
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, . 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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 21 Mar, 2005 3:29 am Asunto: |
|
|
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 _________________
 |
|
| Volver arriba |
|
 |
alex_999 Ens

Registrado: 05 Mar 2005Mensajes: 46Ubicación: Ceuta
|
Publicado: Lun 21 Mar, 2005 11:27 am Asunto: re |
|
|
Muchas gracias por la ayuda!! me ha servido de mucho  _________________ Si me quieres retar, aceptare.
Entra en http://www.exides.net, el mejor MMOG de españa!! |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|