socket en c para windows
Publicado por txenfsm (1 intervención) el 24/10/2011 13:54:58
Hola a todos,
Estoy intentando hacer una aplicacion cliente servidor en c para comunicar dos equipos, en el entorno netbeans. El problema es que cuando ejecuto el servidor no crea la conexion y se queda todo el tiempo como creando la conexion sin finalizar. les dejo el codigo por si ven en error:
#include<stdio.h>
#include<windows.h>
#include<winsock2.h>
#include<string.h>
#include <winsock.h>
#pragma comment(lib, "libws2_32.a")
#define puerto 5158
int main(){
WSADATA wsa;
SOCKET sock;
int conexion;
char buffer[20];
struct sockaddr_in server;
WSACleanup();
printf("hola0 \n");
WSAStartup(MAKEWORD(2,2),&wsa);
printf("\n hola 1");
sock=socket(AF_INET,SOCK_STREAM,6);
server.sin_family= AF_INET;
server.sin_addr.s_addr=INADDR_ANY;
server.sin_port=htons(puerto);
if(bind(sock,(struct sockaddr *)&server,sizeof(server))==-1 ){
printf("error asociando");
exit(0);
}
printf("Esperando Clientes\n");
listen(sock,1);
if((sock=accept(sock,0,0))<0){
printf("error aceptando connexion");
exit(0);
}
puts("Cliente conectado");
if(recv(sock,buffer,sizeof(buffer),0)==-1){
printf("error reciviendo");
exit(0);
}
printf("Esto es lo que envio el cliente;\n");
puts(buffer);
closesocket(sock);
WSACleanup();
return 0;
}
Saludos y gracias de antemano.
Estoy intentando hacer una aplicacion cliente servidor en c para comunicar dos equipos, en el entorno netbeans. El problema es que cuando ejecuto el servidor no crea la conexion y se queda todo el tiempo como creando la conexion sin finalizar. les dejo el codigo por si ven en error:
#include<stdio.h>
#include<windows.h>
#include<winsock2.h>
#include<string.h>
#include <winsock.h>
#pragma comment(lib, "libws2_32.a")
#define puerto 5158
int main(){
WSADATA wsa;
SOCKET sock;
int conexion;
char buffer[20];
struct sockaddr_in server;
WSACleanup();
printf("hola0 \n");
WSAStartup(MAKEWORD(2,2),&wsa);
printf("\n hola 1");
sock=socket(AF_INET,SOCK_STREAM,6);
server.sin_family= AF_INET;
server.sin_addr.s_addr=INADDR_ANY;
server.sin_port=htons(puerto);
if(bind(sock,(struct sockaddr *)&server,sizeof(server))==-1 ){
printf("error asociando");
exit(0);
}
printf("Esperando Clientes\n");
listen(sock,1);
if((sock=accept(sock,0,0))<0){
printf("error aceptando connexion");
exit(0);
}
puts("Cliente conectado");
if(recv(sock,buffer,sizeof(buffer),0)==-1){
printf("error reciviendo");
exit(0);
}
printf("Esto es lo que envio el cliente;\n");
puts(buffer);
closesocket(sock);
WSACleanup();
return 0;
}
Saludos y gracias de antemano.
Valora esta pregunta


0