Autor
|
Tema: Sockets, Mandando unos números y el servidor haciendo la operación. (Leído 7,094 veces)
|
anonimo12121
|
Bueno pues solo estoy practicando así hago este pequeño aporte fácil. Cliente#include <iostream> #include <SFML/Network.hpp> using namespace std; // Puerto 25569 struct Suma{ int n1; int n2; }; int main(int argc,char *argv[]){ sf::SocketTCP Conexion; sf::Packet Paquete; while(Conexion.Connect(25569,sf::IPAddress("localhost")) !=sf::Socket::Done)cout << "Buscando servidor..."<<endl; cout << "Servidor encontrado." <<endl; //char Datos[128]; Suma s; while(1){ cout << "Escribe el primer numero: "; cin >> s.n1; cout << "Escribe el segundo numero: "; cin >> s.n2; Paquete << s.n1 << s.n2; if(Conexion.Send(Paquete) != sf::Socket::Done)cout << "no se pudo mandar el mensaje"; } return 0; }
Servidor#include <iostream> #include <SFML/Network.hpp> using namespace std; // Puerto 25569 struct Suma{ int n1; int n2; }; int main(int argc,char *argv[]){ sf::SocketTCP Conexion; sf::SocketTCP Client; sf::IPAddress ClientAddress; sf::Packet Paquete; //char Buffer[128]; //std::size_t Received; Suma s; Conexion.Listen(25569); Conexion.Accept(Client,&ClientAddress); while(1){ if(Client.Receive(Paquete) != sf::Socket::Done); else { Paquete.GetData(); Paquete >> s.n1 >> s.n2; cout << "Client: " << s.n1+s.n2<< endl; } } return 0; }
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
¿Que libreria estas usando? No me suena SFML.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
|
X3R4CK3R
Desconectado
Mensajes: 74
Divide y vencerás
|
Tú code presenta un fallo al hacer una segunda suma: El cliente envía los 2 nuevos sumandos pero el server sólo imprime el resultado de la primera suma, una y otra vez, en lugar de la nueva suma.
Saludos
|
|
|
En línea
|
|
|
|
anonimo12121
|
Somos socios XD. Ya lo he arreglado. hay que vaciar los Packets. Client#include <iostream> #include <SFML/Network.hpp> #include <cstdio> using namespace std; // Puerto 25569 struct Suma{ int n1; int n2; }; int main(int argc,char *argv[]){ sf::SocketTCP Conexion; sf::Packet Paquete; while(Conexion.Connect(25569,sf::IPAddress("localhost")) !=sf::Socket::Done)cout << "Buscando servidor..."<<endl; cout << "Servidor encontrado." <<endl; //char Datos[128]; Suma s; while(1){ cout << "Escribe el primer numero: "; cin >> s.n1; cout << "Escribe el segundo numero: "; cin >> s.n2; Paquete << s.n1 << s.n2; if(Conexion.Send(Paquete) != sf::Socket::Done)cout << "no se pudo mandar el mensaje"; Paquete.Clear(); } return 0; }
Servidor#include <iostream> #include <SFML/Network.hpp> using namespace std; // Puerto 25569 struct Suma{ int n1; int n2; }; int main(int argc,char *argv[]){ sf::SocketTCP Conexion; sf::SocketTCP Client; sf::IPAddress ClientAddress; sf::Packet Paquete; //char Buffer[128]; //std::size_t Received; Suma s; Conexion.Listen(25569); Conexion.Accept(Client,&ClientAddress); while(1){ if(Client.Receive(Paquete) != sf::Socket::Done); else { Paquete.GetData(); Paquete >> s.n1 >> s.n2; cout << "Client: " << s.n1+s.n2<< endl; Paquete.Clear(); } } return 0; }
|
|
|
En línea
|
|
|
|
X3R4CK3R
Desconectado
Mensajes: 74
Divide y vencerás
|
Tan solo es necesario que se limpie el paquete del cliente, en el server es prescindible.
yo precisamente hacia ésto al contrario: solo lo limpiaba en el server xD
|
|
|
En línea
|
|
|
|
anonimo12121
|
xD yo he puesto los dos para hacerlo más rápido , pero te doy la razón go Skype
|
|
|
En línea
|
|
|
|
DaniellesSchaffer
Desconectado
Mensajes: 1
|
Hola!
Estoy probando tu código y lo que hice fue meter el archivo de SFML en las librerías de Code::Blocks, pero me aparecen errores como SocketTCPno es miembro de sf. Podrías ayudarme?
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con sockets Cliente - Servidor ( IP )
Programación Visual Basic
|
EstoyBaneado
|
8
|
3,755
|
22 Agosto 2005, 02:06 am
por soplo
|
|
|
obtener unos numeros concretos con inet.ocx
Programación Visual Basic
|
jarping
|
0
|
1,681
|
14 Junio 2006, 00:48 am
por jarping
|
|
|
VB.NET sockets cliente-servidor
.NET (C#, VB.NET, ASP)
|
Blizknight
|
2
|
13,662
|
11 Marzo 2008, 04:53 am
por elmaro
|
|
|
Servidor mail: a unos destinatarios si, a otros no
Desarrollo Web
|
Nestorin
|
2
|
2,067
|
10 Noviembre 2011, 20:28 pm
por Nestorin
|
|
|
Haciendo un chat por sockets
Programación C/C++
|
ipmicrobious
|
1
|
2,237
|
3 Diciembre 2016, 16:03 pm
por ivancea96
|
|