Bonjour, je dois créer un petit programme qui doit envoyer des valeurs sur un logiciel. Je dois stocker ces valeurs dans un structure mais je n'arrive pas a l'envoyer.


pour l'instant j'ai ceci
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
68
69
70
71
72
73
74
75
#include <stdio.h>
#include <stdlib.h>
 
//<!-- WIN32 -->//
#ifdef __WIN32__
#include <winsock2.h>
#include <winsock.h>
typedef int socklen_t;
#else
# include <sys/socket.h>
#endif
//<!-- WIN32 -->//
 
#include <sys/types.h>
#define PORT 5451
#define IP "127.0.0.1"
 
struct EnvAuto{
	int id;
	int num_funct;
	int res;
	int value;
};
typedef struct EnvAuto EnvAuto;
int main(void) {
 
	#if defined (WIN32)
		WSADATA WSAData;
		int erreur = WSAStartup(MAKEWORD(2,2), &WSAData);
	#else
		int erreur = 0;
	#endif
 
	SOCKET sock;
	SOCKADDR_IN sin;
 
	if(!erreur){
		/* Créé le socket */
		sock = socket(AF_INET, SOCK_STREAM, 0);
 
		/* Config de la connexion */
		sin.sin_addr.s_addr = inet_addr(IP);
		sin.sin_family = AF_INET;
		sin.sin_port = htons(PORT);
 
		/* Si on peut se co */
		if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) != SOCKET_ERROR){
			printf("Connexion a %s sur le port %d OK \n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
 
			/* Transmission de données */
			struct EnvAuto envoi;
			envoi.id = 0;
			envoi.num_funct = 11;
			envoi.res = 214;
			envoi.value = 1;
 
			send(sock, (char *)&envoi, sizeof(EnvAuto), 0);
 
			/* Ferme la transmission entre serveur&client */
			shutdown(sock, 2);
			} else {
			printf("Connexion impossible\n");
		}
 
 
		/* Fermeture de la connexion */
		closesocket(sock);
 
 
		#if defined (WIN32)
			WSACleanup();
		#endif
	}
	return EXIT_SUCCESS;
}
Je ne vois pas trop ou est ce que je plante, merci de votre aide.