Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

joaopaulo93

[Resolvido] Sockets

Mensagens Recomendadas

joaopaulo93

Estou com um problema entre ligação de processos atravês de sockets, o erro que me transmite "client: connect: Connection refused" já procurei e dizem que é devido ao não fazer listen() no servidor, coisa que eu faço.

Basicamente recebo da shell e quero fazer uma ligação atraves da socket, converter em ficheiro e depois fazer o sort

//.........................................SOCKET......................................

  if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
		 perror("server: socket");
		 exit(1);
   }


  //CRIA UM ENDEREÇO
   saun.sun_family = AF_UNIX;
   strcpy(saun.sun_path, ADDRESS);

  unlink (ADDRESS);



  int tamanho=sizeof(saun.sun_family) + strlen(saun.sun_path);

  if (bind(s, &saun, tamanho) < 0) {
	   perror("server: bind");
	   exit(1);
   }


	  if (listen(s, 5) < 0) {
	   perror("server: listen");
	   exit(1);
   }


	 if ((ns = accept(s, &fsaun, &fromlen)) < 0) {
	   perror("server: accept");
	   exit(1);
   }



  file = fdopen(ns, "r");
  send(ns,stdout,strlen(stdout),0);
  close(s);

  }
  else{//===========SORT PROCESS======================================

char c;
  FILE *file;
   int i, tamanho, s;
   struct sockaddr_un saun;
  if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
	   perror("client: socket");
	   exit(1);
  }

  saun.sun_family = AF_UNIX;
strcpy(saun.sun_path, ADDRESS);

  tamanho = sizeof(saun.sun_family) + strlen(saun.sun_path);

  if (connect(s, &saun, tamanho) < 0) {
	   perror("client: connect");
	   exit(1);
   }


  file = fdopen(s, "r");

		  execl("/usr/bin/sort", "/usr/bin/sort",">file",NULL);




  }

se alguem me pude-se ajudar era perfeito.

Desde já obrigado pela atenção

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joaopaulo93

Sou novo aqui e ja agora obrigado e desculpem.

No entanto ja consegui resolver obrigado

Editado por joaopaulo93

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.