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
Je ne vois pas trop ou est ce que je plante, merci de votre aide.
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; }
Partager