1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#include <stdio.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
int sockfd;
int len;
struct sockaddr_in address;
int result;
fd_set rfds;
struct timeval tv;
int retval;
int nbRecu=0;
int bind_t=0;
tv.tv_sec = 0;
tv.tv_usec = 100000;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
FD_ZERO(&rfds);
FD_SET(sockfd, &rfds);
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr(argv[1]);
address.sin_port = 445;
len = sizeof(address);
fcntl(sockfd, F_SETFL, O_NONBLOCK);
result = connect(sockfd, (struct sockaddr *)&address, len);
bind_t = bind(sockfd, (struct sockaddr *)&address,len);
nbRecu = send(sockfd, "Hello world!\r\n", 14, 0);
retval = select(sockfd + 1, &rfds, NULL, NULL, &tv);
//nbRecu = send(sockfd, "Hello world!\r\n", 14, 0);
if (retval)
{
if(nbRecu == -1)
{
close(sockfd);
printf("socket 445 ok\n");
return 1;
}
else
{
close(sockfd);
printf("donne 445 ok\n");
return 1;
}
}
else
{
close(sockfd);
printf("Pas de données depuis 100 mili secondes\n");
return 0;
}
} |
Partager