Enviado em 08/03/2018 - 00:42h
Boa noite#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#define PORTA 1234
#define LEN 4096
struct sockaddr_in remoto; //estrutura para o cliente
int main()
{
int socket_s; //descritor socket servidor
int socket_c; //descritor socket cliente
int len = sizeof(remoto);
int slen;
char buffer[5000];
printf("\nSocket cliente !!!\n");
//criando socket servidor
socket_s = socket(AF_INET, SOCK_STREAM, 0);
if(socket_s == -1)
{
perror("\nErro ao criar socket !\n");
exit(1);
}
else
printf("\nSocket criado !\n");
//definindo as variaveis da struct
remoto.sin_family = AF_INET; //define a familia da internet da strruct
remoto.sin_port = htons(PORTA); //define a porta a ser utilizada
remoto.sin_addr.s_addr = inet_addr("192.168.1.3"); //converte para endereço de ip
memset(remoto.sin_zero, 0x0, 8);
//conecta ao socket servidor
if((socket_s = conncet(socket_s, (struct sockaddr*)&remoto, len)) == -1)
{
perror("\nErro ao fazer a conexao !\n");
exit(1);
}
strcpy(buffer, "Mensagem para servidor\n\0");
//envia uma mensagem pra o socket servidor e retorna o numero de bytes da mensagem
if(send(socket_s, buffer, strlen(buffer), 0))
{
while(1)
{
//recebe mensagem de outro socket
if((slen = recv(socket_s, buffer, LEN, 0)) > 0)
{
buffer[slen] = '\0';
printf("\nMensagem recebida: %s\n", buffer);
}
}
memset(buffer, 0x0, LEN);
fgets(buffer, LEN, stdin);
send(socket_s, buffer, strlen(buffer), 0);
}
close(socket_s);
printf("\nCliente encerrado\n");
return 0;
}
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como vencer a procrastinação? (2)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (7)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (9)