Hello a tous j’ais un petit problème avec le code suivent je tente d’envoilé un send a travers le sockete que j’ai ouvert mais le send me renvoi toujours (-1)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
    	}
 
}