Exemplo simples de socket em C/C++
Publicado por kenneth de oliveira (última atualização em 07/02/2018)
[ Hits: 11.396 ]
Homepage: https://br.linkedin.com/in/kenneth-de-oliveira/
Apenas uma breve demonstração simples do assunto sockets em C/C++
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<errno.h> #include<unistd.h> /*headrs para socket*/ #include<sys/socket.h> #include<netinet/in.h> #include<sys/types.h> #include<sys/signal.h> #include<arpa/inet.h> #include<netdb.h> #define PORT 2222 //nossa porta #define LENGTH 4096 int main(void) { struct sockaddr_in local; struct sockaddr_in remoto; int socketd, meucliente, cliente, slen; char buffer[4096]; socketd = socket(AF_INET, SOCK_STREAM, 0); if(socketd == -1) { perror("\nSocketd error"); exit(1); } else{ printf("\nSocket realizado com sucesso!\n"); } local.sin_family = AF_INET; local.sin_port = htons(PORT); memset(local.sin_zero,0x0,8); // bind() função que faz conexão do ip com a porta if(bind(socketd,(struct sockaddr *)&local,sizeof(local)) == -1) { perror("\nBind error"); exit(1); } //listen() função deixa seu servidor na escuta, no meu caso configuro para 2 conexão listen(socketd,2); //accept() função que faz conexão de seu socket com o do cliente meucliente = sizeof(remoto); if((cliente = accept(socketd,(struct sockaddr *)&remoto, &meucliente))==-1) { perror("\nAccept error"); exit(1); } //função da #include<string.h> concatena s2 em s1 strcpy(buffer,"Welcome cliente\n\0"); /*srlen() ler todos caractere de uma string send() funcão de mensagem */ if(send(cliente,buffer,strlen(buffer),0)) { printf("\nAguardando Mensagem do cliente...\n"); memset(buffer, 0x0, LENGTH); //limpa buffer da mensagem while(1) { //recv função de mensagem if((recv(cliente,buffer,LENGTH,0)) > 0) { printf("\nMensagem recebida = %s\n", buffer); buffer[slen] = '\0'; close(cliente); break; } } } printf("\nServidor encerrado!\n"); close(socketd); return 0; }
Árvore B com Arquivos (inserção e pesquisa)
Algoritmo método da Posição Falsa ou Falsa Posição, Newton Raphson e Bisseção em Calculo Númerico
Nenhum comentário foi encontrado.
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Liberação de alguns links no squid (23)
NAT LoopBack - Hairpin NAT (1)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (14)