MANUAL SOBRE WINSOCK
Publicado por Ander (1 intervención) el 05/11/2001 15:55:34
Necesitaria alguna orientacion en castellano sobre Winsock para hacer alguna aplicacion sencilla de red. GRACIAS.
Valora esta pregunta


0
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iostream>
#pragma comment(lib, "ws2_32.lib")
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
std::cerr << "Error al inicializar Winsock." << std::endl;
return 1;
}
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET) {
std::cerr << "Error al crear el socket." << std::endl;
WSACleanup();
return 1;
}
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(8080); // Puerto del servidor
inet_pton(AF_INET, "127.0.0.1", &server.sin_addr); // Dirección IP del servidor
if (connect(sock, (struct sockaddr*)&server, sizeof(server)) < 0) {
std::cerr << "Error al conectar." << std::endl;
closesocket(sock);
WSACleanup();
return 1;
}
const char* mensaje = "Hola, servidor!";
send(sock, mensaje, strlen(mensaje), 0);
char buffer[512];
int bytesRecibidos = recv(sock, buffer, sizeof(buffer) - 1, 0);
if (bytesRecibidos > 0) {
buffer[bytesRecibidos] = '\0'; // Asegúrate de terminar la cadena
std::cout << "Mensaje del servidor: " << buffer << std::endl;
}
closesocket(sock);
WSACleanup();
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iostream>
#pragma comment(lib, "ws2_32.lib")
int main() {
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
std::cerr << "Error al inicializar Winsock." << std::endl;
return 1;
}
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET) {
std::cerr << "Error al crear el socket." << std::endl;
WSACleanup();
return 1;
}
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(8080);
inet_pton(AF_INET, "127.0.0.1", &server.sin_addr);
if (connect(sock, (struct sockaddr*)&server, sizeof(server)) < 0) {
std::cerr << "Error al conectar." << std::endl;
closesocket(sock);
WSACleanup();
return 1;
}
const char* mensaje = "Hola, servidor!";
send(sock, mensaje, strlen(mensaje), 0);
char buffer[512];
int bytesRecibidos = recv(sock, buffer, sizeof(buffer) - 1, 0);
if (bytesRecibidos > 0) {
buffer[bytesRecibidos] = '\0';
std::cout << "Mensaje del servidor: " << buffer << std::endl;
}
closesocket(sock);
WSACleanup();
return 0;
}