Tengo un cliente y un servidor hecho, me compilan bien pero luego no me establece la conexion.
SERVER
Código
CLIENTE
#include <netinet/in.h> #include <sys/socket.h> #include <sys/types.h> #include <iostream> using namespace std; int main(){ int sockfd, new_sock; sockfd=socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in sin={AF_INET,htons(900),INADDR_ANY}; char text; bind(sockfd,(struct sockaddr *) &sin,sizeof(sin)); listen(sockfd,5); new_sock=accept(sockfd,NULL,NULL); close(sockfd); while(read(new_sock,&text,1)) write(1,&text,1); cout<<endl; }
Código
#include <netinet/in.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> #include <stdlib.h> #include <iostream> using namespace std; void uso(char *prog){ cout<<"Uso:\n"; cout<<"\t"<<prog<<" <ip dest> [port dest] [msg]\n\n"; exit(0); } int main(int argc,char **argv){ int sockfd; sockfd=socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in sin={AF_INET,htons(900),INADDR_ANY}; char *texto; texto=new char[50]; if(argc<2) uso(argv[0]); if(argc>2) sin.sin_port=htons(atoi(argv[2])); if(argc>3) strcpy(texto,argv[3]); sin.sin_addr.s_addr=inet_addr(argv[1]); if (connect(sockfd,(struct sockaddr *) &sin,sizeof(sin))==-1){ perror("connect()"); exit(0); } send(sockfd,texto,strlen(texto),0); cout<<texto<<endl; close(sockfd); cout<<endl; }
Lo siento por el tocho!!
1 saludo ; )