• Miércoles 12 de Marzo de 2025, 05:38

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - System@32

Páginas: [1]
1
C/C++ / Re: Problema con sockets
« en: Jueves 13 de Enero de 2011, 07:44 »
Hostia! Si que no me di cuenta de eso! Gracias.

2
C/C++ / Problema con sockets
« en: Miércoles 12 de Enero de 2011, 18:11 »
Hola!

He empezado a jugar con los sockets (cliente/servidor). No parece tan complicado xD. El cliente envía una cadena de texto y el servidor la tiene que recoger y mostrar por la pantalla. El problema es que el servidor nunca recoge el texto. No se si es problema del código o que. Desactive firewall, antivirus, etc.

Server
Código: C++
  1. #include <iostream>
  2. #include <WinSock2.h>
  3. #include <ws2tcpip.h>
  4. #include <iphlpapi.h>
  5. #include <conio.h>
  6.  
  7. #pragma comment(lib, "Ws2_32.lib")
  8.  
  9. void main( int argc, char *argv[] )
  10. {
  11.     WSAData wsaData;
  12.     SOCKET mSocket, acceptSocket;
  13.     struct sockaddr_in service, remote;
  14.  
  15.     char sendbuf[1024] = "Hello! I'm server, sending some test data...";
  16.     char recvbuf[1024] = "";
  17.  
  18.     int bytesSent = SOCKET_ERROR;
  19.     int bytesRecv = SOCKET_ERROR;
  20.  
  21.     char exit = '';
  22.  
  23.     if( WSAStartup(MAKEWORD(2,2), &wsaData) != 0 )
  24.     {
  25.         std::cout << "WSAStartup failed!" << std::endl;
  26.         getch(); return;
  27.     }
  28.  
  29.     if( (mSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET )
  30.     {
  31.         std::cout << "Error at socket(): " << WSAGetLastError() << std::endl;
  32.         WSACleanup; getch(); return;
  33.     }
  34.  
  35.     service.sin_family = AF_INET;
  36.     service.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
  37.     service.sin_port = htons( 55555 );
  38.  
  39.     if( (bind(mSocket, (SOCKADDR*) &service, sizeof(service))) == SOCKET_ERROR )
  40.     {
  41.         std::cout << "Error at bind(): " << WSAGetLastError() << std::endl;
  42.         closesocket( mSocket ); WSACleanup; getch(); return;
  43.     }
  44.  
  45.     if( listen(mSocket, 1) == SOCKET_ERROR )
  46.     {
  47.         std::cout << "Error at listen(): " << WSAGetLastError() << std::endl;
  48.         closesocket( mSocket ); WSACleanup; getch(); return;
  49.     }
  50.  
  51.     std::cout << "****************************************" << std::endl;
  52.     std::cout << "* Server is ready. Waiting for client! *" << std::endl;
  53.     std::cout << "****************************************" << std::endl << std::endl;
  54.  
  55.     acceptSocket = SOCKET_ERROR;
  56.     while( acceptSocket == SOCKET_ERROR )
  57.     {
  58.         acceptSocket = accept( mSocket, NULL, NULL );
  59.     }
  60.     mSocket = acceptSocket;
  61.  
  62.     bytesRecv = recv( mSocket, recvbuf, strlen(recvbuf), 0 );
  63.     if( bytesRecv == SOCKET_ERROR )
  64.     {
  65.         std::cout << "Error at recv(): " << WSAGetLastError() << std::endl;
  66.         closesocket( mSocket ); WSACleanup; getch(); return;
  67.     }
  68.  
  69.     printf( "Bytes received: %dn", bytesRecv );
  70.     printf( "Client: %sn", recvbuf );
  71.     system( "pause" );
  72.  
  73.     closesocket( mSocket );
  74.     WSACleanup;
  75. }
  76.  

Cliente
Código: C++
  1. #include <iostream>
  2. #include <WinSock2.h>
  3. #include <ws2tcpip.h>
  4. #include <iphlpapi.h>
  5. #include <conio.h>
  6.  
  7. #pragma comment(lib, "Ws2_32.lib")
  8.  
  9. void main( int argc, char *argv[] )
  10. {
  11.     WSAData wsaData;
  12.     SOCKET mSocket, acceptSocket;
  13.     sockaddr_in service;
  14.  
  15.     char sendbuf[1024] = "Hello! I'm client, sending some test data...";
  16.     char recvbuf[1024] = "";
  17.  
  18.     int bytesSent = SOCKET_ERROR;
  19.     int bytesRecv = SOCKET_ERROR;
  20.  
  21.     if( WSAStartup(MAKEWORD(2,2), &wsaData) != 0 )
  22.     {
  23.         std::cout << "WSAStartup failed!" << std::endl;
  24.         getch(); return;
  25.     }
  26.  
  27.     if( (mSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET )
  28.     {
  29.         std::cout << "Error at socket(): " << WSAGetLastError() << std::endl;
  30.         WSACleanup; getch(); return;
  31.     }
  32.  
  33.     service.sin_family = AF_INET;
  34.     service.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
  35.     service.sin_port   = htons( 55555 );
  36.  
  37.     if( (connect(mSocket, (SOCKADDR*) &service, sizeof(service))) == SOCKET_ERROR )
  38.     {
  39.         std::cout << "Error at connect(): " << WSAGetLastError() << std::endl;
  40.         closesocket( mSocket ); WSACleanup; getch(); return;
  41.     }
  42.  
  43.     bytesSent = send( mSocket, sendbuf, strlen(sendbuf), 0 );
  44.     if( bytesSent == SOCKET_ERROR )
  45.     {
  46.         std::cout << "Error at send(): " << WSAGetLastError() << std::endl;
  47.         closesocket( mSocket ); WSACleanup; getch(); return;
  48.     }
  49.    
  50.     printf( "Bytes sent: %dn", bytesSent );
  51.     system( "pause" );
  52.  
  53.     closesocket( mSocket );
  54.     WSACleanup;
  55. }
  56.  

3
Programación Lógica / Prolog (Instancias)
« en: Viernes 22 de Octubre de 2010, 12:38 »
Hola!

Necesito un poco de ayuda.
(1) - Como compruebo si una variable esta instanciada¿?
(2) - Tengo una array instanciada con 'O' y 'X'. Intento cambiar las 'X' por 'O' por no consigo hacerlo. Siempre me da false, haga lo que haga. He intentado desintanciar la array pero tampoco se como hacerlo. Y tampoco hay mucha informacion sobre el tema. Gracias!

Saludos!

4
PHP / Re: Agregar, Modificar, Eliminar y Buscar en un Solo Formulario?
« en: Miércoles 14 de Julio de 2010, 21:04 »
En ese form te falta el action...
Código: Text
  1. <form id="Todo" name="Todo" method="post" action="{pagina_envio}">
  2.  

5
Python / Re: Problema con python, no logro entender el error
« en: Viernes 18 de Junio de 2010, 13:33 »
Prueba con raw_input()

6
PHP / Re: Duda con Registro?
« en: Miércoles 2 de Junio de 2010, 20:41 »
Busca información sobre mysql_insert_id()

7
PHP / Re: Insercion de Datos, problemas con Restriciones?
« en: Lunes 31 de Mayo de 2010, 17:00 »
A ver si no me equivoco, como es eso... Al tener las tablas enlazadas, el ID que quieres introducir no se encuentra en la tabla que esta vinculado con esta (en la tabla padre).

8
PHP / Re: Combinacion de teclas en PHP
« en: Lunes 31 de Mayo de 2010, 16:49 »
Lo que buscas se hace en Javascript. Creo recordar que con window.event. Busca información sobre eso.

9
PHP / Re: Problemas a cargar Lista?
« en: Martes 25 de Mayo de 2010, 20:19 »
Tendrás información en la base de datos? En lugar de comprobar usando el:
Código: PHP
  1. mysql_fetch_row( $buscar ) == $ced
  2.  
usa el:
Código: PHP
  1. mysql_num_rows( $buscar ) > 0
  2.  

10
PHP / Re: Problemas a cargar Lista?
« en: Martes 25 de Mayo de 2010, 19:52 »
Aquí tu primera duda... se te quedaba en un bucle infinito ya que siempre hacías el mysql_query()
Código: PHP
  1.  
  2. $result = mysql_query($query, $con);
  3.     while ($row = mysql_fetch_assoc( $result ))
  4.     {
  5.                    echo'<option value="' .$row['id_estados']. '">' .$row['nom_estado']. '</option>';
  6.     }
  7.  
  8.  

En cuanto a la segunda duda, pues eso no se arregla así como así. Lo puedes hacer pos sesiones y Ajax. No se... no creo que tenga mucha importante al rellenar un formulario. Si es para asegurarse de que los datos son los correctos, pues antes los compruebas por JavaScript...

11
PHP / Re: Importar datos de un fichero Excel
« en: Jueves 6 de Mayo de 2010, 16:30 »
Si es excel, Pear tiene algunas cositas para eso. Para word ni idea...
pear.php.net/package/Spreadsheet_Excel_Writer/redirected

12
PHP / Re: LISTADO + VENTANA SECUNDARIA
« en: Jueves 6 de Mayo de 2010, 16:25 »
Pues, vas a tener que pasar por URL el identificador.

Código: PHP
  1.  
  2. //tu pagina actual
  3. $f.='<td><a href="etiqpaci.php?id=' .$identificador. '" target="_blank"><b> PEGATINAS </b></a></td>';
  4.  
  5. //pagina en la cual quieres ir etiqpaci.php
  6. if( !isset($_GET['id'])){
  7.     echo 'No se ha recibido ningun identificador';
  8.     exit();
  9. }
  10. $identificador = $_GET['id'];
  11.  
  12.  

13
PHP / Re: funciones para reemplazar en una cadena,
« en: Jueves 6 de Mayo de 2010, 16:09 »
Uso de BBcodes... va muy bien si tienes que poner vídeos y otras cosas. Son simples de usar, solo hay que cogerle el truco de como se crean.
Código: PHP
  1.  
  2. <?php
  3. $youtube_tag = '/[youtube=((.*?),(.*?))](.*?)[/youtube]/is';
  4.  
  5. $youtube_html = '<object width="$1" height="$2">
  6. <param name="movie" value="$3"></param>
  7. <param name="allowFullScreen" value="true"></param>
  8. <param name="allowscriptaccess" value="always"></param>
  9. <embed src="$3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="$1" height="$2"></embed>
  10. </object>';
  11.  
  12. $text = '[youtube=(600,380)]URL youtube[/youtube]';
  13. $text = str_replace('watch?v=', 'v/', $text);
  14. $text = preg_replace($youtube_tag, $youtube_html, $text);
  15.  
  16. echo $text;
  17. ?>
  18.  
  19.  

14
C/C++ / Multilenguaje
« en: Domingo 18 de Abril de 2010, 21:14 »
Buenas!

Pues eso... estoy trasteando con el 'C', y me paso por la cabeza, por ejemplo, un programa fácil que detecte el idioma del sistema operativo y que muestre un mensaje simple como "Hola Mundo" en ese idioma. EL problema, que no tengo ni idea de como detectar el idioma y tampoco encuentro como y lo del mensaje tampoco lo tengo muy claro como gestionarlo. Me gustaría algo parecido que cada idioma sea una archivo, aunque no se si debería ser un simple archivo de texto o debería tener una estructura determina. Me gustaría que me pudierasi dar idea...

Saludos!!!

15
C/C++ / Problema con variables...
« en: Sábado 16 de Enero de 2010, 16:03 »
Hola a todos!!!

Bueno, a ver como lo explico... tengo un código, bastante largo por esto no lo pongo, y problema que básicamente tengo es que hay algunas variables (2) que en un determinado momento cogen el valor de 0 (cero), una de ellas ni siquiera debería ponerse a 0 nunca, la otra es un valor que voy decrementando. Hay que mencionar que uso punteros, y me he pasado mirando el código durante horas, pero no encuentro el motivo. Entonces me gustaría saber posibles causas ademas de los punteros que puede que sean un problema... Una cosa mas, como es posible que un rand() entre 2 valores devuelva siempre el mismo, en mi caso el mayor de los valores...

Código: C
  1.  
  2. //limits.cE enpieza en 0 y limits.cD en 8
  3. //el primero se va incrementando y el segundo decrementando
  4. //hasta que llegan al mismo valor
  5. posX = ((rand() % (limits.cE+1)) + (limits.cD+1)) - 1;
  6.  
  7.  

16
PHP / Re: error con echo
« en: Lunes 11 de Enero de 2010, 22:18 »
Intenta no utilizar los short tags ya que el PHP no se lleva muy bien con ellos... En el if() tienes que comprobar si mysql_query() se ha ejecutado correctamente... y para saber si hay algun registro usa mysql_num_rows()... recuerda que si no hay nada en la base de datos nunca te hará el while...
Código: PHP
  1.  
  2. <?php
  3. $link = mysql_connect("localhost", "root", "");
  4. mysql_select_db("bdcaleta", $link);
  5. $result = mysql_query("SELECT * FROM carns", $link);
  6. if( $result ){
  7.     if( mysql_num_rows($result) > 0){
  8.         while( $row = mysql_fetch_array($result) ){
  9.             echo "hola";
  10.         }
  11.     } else {
  12.         echo "¡ No se ha encontrado ningún registro !";
  13.     }
  14. } else {
  15.     echo mysql_error();
  16. }
  17. ?>
  18.  
  19.  

17
C/C++ / Switch case que no sea constante (C)
« en: Sábado 2 de Enero de 2010, 14:15 »
Hola!!!!
Feliz año nuevo!!!

A ver, es posible hacer es switch case con variables que no esa constantes...
He probado con algo como esto, pero nada
Código: C
  1.  
  2. const char derecha = conf.derecha, izquierda = conf.izquierda, disparo = conf.disparo, pause = conf.pause;
  3. if( _kbhit() ){ 
  4.     tecla = getch();
  5.     if( tecla == -32 ){
  6.         tecla = getch();
  7.     }
  8.  
  9.     switch( tecla ){
  10.         case derecha:{
  11.         }break;
  12.  
  13.         case izquierda:{
  14.         }break;
  15.  
  16.         case pause:{
  17.         }break;
  18.                
  19.         case disparo:{
  20.         }break;
  21.                
  22.         case KEY_ESC:{
  23.         }break;
  24.     }
  25. }
  26.  
  27.  

18
PHP / Re: necesito una mano en mi SHOP, no me guarda bien la ip
« en: Jueves 26 de Noviembre de 2009, 22:48 »
Si el script esta en hosting fuera de tu empresa, puede que sea por causa de algun proxy... y si lo tienes dentro de tu empresa puede que sea alguna IP interna... eso es probarlo y ver causas...

Porcierto, en lugar de
Código: PHP
  1.  
  2. $HTTP_SERVER_VARS["REMOTE_ADDR"];
  3.  
  4.  

usa
Código: PHP
  1.  
  2. $_SERVER['REMOTE_ADDR']
  3.  
  4.  

y por si hay algun proxy, aunque los proxys de hoy ocultan muy bien la IP original...
Código: PHP
  1.  
  2. $_SERVER['HTTP_X_FORWARDED_FOR']
  3.  
  4.  

19
C/C++ / Re: Estructura archivos .h y .c
« en: Jueves 26 de Noviembre de 2009, 22:36 »
Al final lo he puesto en header, para quitar complicaciones... hasta que gane experiencia con includes mios, a lo facil...

SALU2!!!

20
C/C++ / Re: Estructura archivos .h y .c
« en: Jueves 26 de Noviembre de 2009, 19:47 »
Ups... error al traducir del catalan a castellano... xd

Lo estoy compilando en C, .c... El final resulta que las estructuras se tienen que poner en el .h tambien... muchas gracias por contestar...

21
C/C++ / Estructura archivos .h y .c
« en: Jueves 26 de Noviembre de 2009, 16:49 »
Hola a todos!!!

A ver... tengo un archivo .h llamado tdatos.h (tipos de datos), donde hay algunas constantes y los encabezados de las estructuras. Ademas tengo el tdatos.c donde estan definidas las estructuras. Ahora en el archivo principal hago el include del tdatos.h, hasta aqui todo bien, creo una variable con uno delos tipos de datos que hay definidos en el tdatos.h. Ahora puedo acceder a toda la estructura no esa variabel sin problemas, pero cuando le doy a compialar, me VS2008 me dice que uso un struct sin definir...

Ejemplo:

tdatos.h
Código: C
  1.  
  2. #ifndef TDADES_H
  3.     #define TDADES_H
  4.  
  5.     #define MAX_NOMBRE 30
  6.     typedef struct DATOS DATOS;
  7. #endif
  8.  
  9.  

tdatos.c
Código: C
  1.  
  2. #include "tdades.h"
  3. struct DATOS{
  4.     char nombre[MAX_NOMBRE];
  5.     int tlf;
  6. };
  7.  
  8.  

main.h
Código: C
  1.  
  2. #include "tdades.h"
  3.  
  4. void main()
  5. {
  6.     DATOS dat;
  7.     dat.nombre[0] = 'p';
  8.     dat.tlf = 887887;
  9. }
  10.  
  11.  

22
C/C++ / Re: Estructuras, listas, memoria dinamica
« en: Martes 10 de Marzo de 2009, 20:27 »
Bueno... al final conseguí hacerlo... no era tan complicado
cita -> es la estructura actual
llista -> contiene la estructura anterior

y me he declaro otro puntero "actual" que contiene el valor/posicion de la memoria de la estructura
Código: C
  1.  
  2. struct s_cites *nou_element(struct s_cites *cita, struct s_cites *llista)
  3.  
  4. {
  5.  
  6.     if(llista == NULL) 
  7.  
  8.     {
  9.  
  10.         cita->seguent = NULL;
  11.  
  12.         cita->actual = cita;
  13.  
  14.         cita->anterior = NULL;
  15.  
  16.     }
  17.  
  18.     else
  19.  
  20.     {
  21.  
  22.         cita->anterior = llista->actual;
  23.  
  24.         cita->seguent = NULL;
  25.  
  26.         llista->seguent = cita;
  27.  
  28.         cita->actual = cita;       
  29.  
  30.     }
  31.  
  32.     llista = cita;
  33.  
  34.     return(llista);
  35.  
  36. }
  37.  
  38.  

23
C/C++ / Estructuras, listas, memoria dinamica
« en: Sábado 7 de Marzo de 2009, 17:40 »
Código: C
  1.  
  2. struct s_cites
  3. {
  4.     int id; //id de la reunion             
  5.     char nom[LENGTH_CHAR]; //nombre de la persona          
  6.     char lloc[LENGTH_CHAR]; //ligar de la reunion          
  7.     struct t_data data; //data de la reunion                   
  8.     struct t_hora hora; //hora de la reunion           
  9.     struct s_cites *seguent; //puner hacia la siguiente reunion    
  10.     struct s_cites *anterior; //punter hacia la anterior reunion       
  11. };
  12.  
  13.  

nueva ficha...
Código: C
  1.  
  2. struct s_cites *nova_fitxa(struct s_cites *llista)
  3. {
  4.     struct s_cites *val;
  5.     val = (struct s_cites *)malloc(sizeof(struct s_cites));
  6.     *val = introCites();
  7.     llista = nou_element(val,llista);
  8.     id_struct(val);
  9.     return(llista);
  10. }
  11.  
  12.  

nuevo elemento en la lista -> mi problema viene aqui... si en la lista no hay nada facil... el problema es cuando hay elementos... no se como decir a la estructura cual es la anterior y a la anterior estructura que la actual, esta es la siguiente...
Código: C
  1.  
  2. struct s_cites *nou_element(struct s_cites *cita, struct s_cites *llista)
  3. {
  4.      
  5.     if(llista == NULL)
  6.     {
  7.         cita->seguent = NULL;
  8.         cita->anterior = NULL;
  9.     }
  10.     else
  11.     {
  12.         cita->seguent = NULL;
  13.         cita->anterior->seguent = llista;
  14.         cita->anterior = cita->anterior->anterior;
  15.     }
  16.     llista = cita;
  17.     return(llista);
  18. }
  19.  
  20.  

PD: perdonad que no este traducido... es un trabajo que nos lo mandaron como de hoy para mañana...

Páginas: [1]