Bonjour
je travail depuis pas mal de temps sur les socket pour pouvoir transmettre un msg d'un pc vers un autre sous réseau local.

sachant que la programmation réseau c'est pas mon domaine, j'ai utiliser la bibliothèque SFML.

Pour la partie serveur j'ai écrit ce code:

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
 
 
#include "stdafx.h"
#include "SFML/Network.hpp"
#include "iostream"
 
 
int main()
{
	sf::IPAddress Address2("192.168.1.3");
 
	// Création du socket UDP
	sf::SocketUDP Socket;
 
	// On le lit au port 4567
	if (!Socket.Bind(4567))
	{
		// Erreur...
	}
 
	char Buffer[128];
	std::size_t Received;
	sf::IPAddress Sender;
	unsigned short Port;
	if (Socket.Receive(Buffer, sizeof(Buffer), Received, Sender, Port) != sf::Socket::Done)
	{
		// Error...
	}
 
	// On affiche l'adresse et le port de l'expéditeur
	std::cout << "Adresse Ip du client :" << Sender << " : " << Port << std::endl;
 
	// On affiche le message reçu
	std::cout << Buffer << std::endl; // "Hi guys !"
 
	Socket.Close();
 
	return 0;
}
et pour la partie client voila le code :

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
 
// socket_udp_client.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "SFML/Network.hpp"
#include "iostream"
 
int main()
{
	//sf::IPAddress Address2("192.168.1.5");
	sf::IPAddress Address6 = sf::IPAddress::GetLocalAddress();
 
	// Création du socket UDP
	sf::SocketUDP Socket;
 
	// Création du tableau d'octets à envoyer
	char Buffer[] = "Hi guys !";
 
	// Envoi des données à l'adresse "192.168.0.2" sur le port 4567
	if (Socket.Send(Buffer, sizeof(Buffer), "192.168.1.3", 4567) != sf::Socket::Done)
	{	
		// Erreur...
	}
 
	Socket.Close();
	return 0;
}
le message "Hi guys !" est bien transmis vers le serveur le seul problème c'est les deux programme plantent avec un message d'erreur
Unhandled exception at 0x104817fd (msvcp80d.dll) in socket_udp_client.exe: 0xC0000005: Access violation writing location 0xcccccccc.

avec deux boutton break et continue, lorsque je clique sur continue rien ne se passe par contre le click sur boutton break ouvre un fichier xutility.

Alors j'en ai pas la moindre idée d'ou sa vient le problème

Merci pour votre aide.