-Boton Servidor ( Inicia el servidor,cuando acepta una conexion, sale un mensaje en TexTBox2 conforme esta conectado y recibe mensajes para despues mostrarlos en TexTBox2 )
-Boton Cliente ( Inicia el cliente y sale un mensaje en TextBox2 conforme esta conectado)
-Boton Enviar ( Envia el texto que hay en TextBox1 del cliente)
El problema es que conecta pero no envia el mensaje, almenos no sale por pantalla en el servidor.Entonces descarto que sea un problema de no conexion. Para poder utilizar la funcion send el mensaje tiene que ser una cadena de caracteres pero el texto de TextBox1 es un System::string^ , por tanto realizo la conversion a unsigned char y utilizo la funcion...y al recibir lo vuelvo a convertir en System::string^ y le digo que lo muestre en TextBox2. Os adjunto el codigo de enviar y recibir a ver si me podeis hechar un cable Graciaaaaaas!
Código C++:
Ver original
//Codigo para enviar mensajes private: System::Void Enviar_Click(System::Object^ sender, System::EventArgs^ e) { // Conversion de string^ a cadena String^ str = gcnew String(TextBox1->Text); // IntPtr p = Marshal::StringToHGlobalAnsi(str); char* buffer = static_cast<char*>(p.ToPointer()); Marshal::FreeHGlobal(p); // Enviamos el mensaje int b;
Código C++:
Ver original
// Codigo para recibir mensajes y mostrarlos while (len!=0) //mientras estemos conectados con el otro pc { len=recv(sockserver,Buffer,1023,0); //recibimos los datos que envie if (len>0) //si seguimos conectados { Buffer[len]=0; //le ponemos el final de cadena String^ msg = gcnew String(reinterpret_cast<const char*>(Buffer));//convertimos la cadena TextBox2->Text=msg; }}