rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#define MY_PORT 5842
unsigned int convert( unsigned int pli );
int main (void) {
unsigned int uint_buffer[5];
char buffer[150];
unsigned int *msg;
int size, recieved, sent, socket_descriptor;
int result, i;
struct sockaddr_in adresa;
adresa.sin_family = AF_INET;
adresa.sin_port = htons( MY_PORT );
inet_aton( "69.55.233.82", &(adresa.sin_addr) );
memset( &(adresa.sin_zero), '\0', 8 );
socket_descriptor = socket( PF_INET, SOCK_STREAM, 0 );
result = connect( socket_descriptor, (struct sockaddr *)&adresa, sizeof(struct sockaddr) );
if ( result == -1 ){
perror("connect() :");
return 1;
}
size = 5;
recieved = recv( socket_descriptor, uint_buffer, size, 0 );
printf("\n");
for (i = 0; i < 4 ; i++){
uint_buffer[i] = convert(uint_buffer[i]);
printf("%d] %u \n",i,uint_buffer[i]);
}
if (recieved == 4){
uint_buffer[4] = uint_buffer[0] + uint_buffer[1] + uint_buffer[2] + uint_buffer[3];
}
printf("result ==> %u\n",uint_buffer[4]);
msg = &uint_buffer[4];
size = 149;
sent = send( socket_descriptor, msg, 1, 0);
recieved = recv( socket_descriptor, buffer, size, 0 );
buffer[150] = '\0';
printf( "sent ==> %d\n", sent );
printf( "ANSWER ==> %s\n", buffer );
close( socket_descriptor );
return 0;
}
unsigned int convert( unsigned int pli ){
char *p;
char *r;
unsigned int result;
int i = 0;
size_t size;
size = sizeof(unsigned int);
p = ( char* )&pli;
r = ( char* )&result;
for(i=0;i<size;i++){
r[size-i] = p[i];
}
return result;
}