Rechercher : dans
Par :

Programmation reseau:sockets

Dernière réponse le 31 jan 2009 à 14:26:43 pachalcs, le 29 jan 2009 à 10:41:42 
 Signaler ce message aux modérateurs

Bonjour, au fait j'ai un petit probleme, je commence la programmation reseau et je dois envoyer un message grace aux sockets sur le reseau local ou sur autre terminal ouvert.Et je sais pas vraiment comment debugger les erreurs.
La transmission se fait hors connexion pour le moment(UDP).

Voici le code qui transmet et je sais pas vraiment si je dois mettre le code qui recoit pour vous :


#include <sys/socket.h>
#include<sys/un.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <arpa/inet.h>
#define UDP_port 8000
#define HOST_addr "191.8.220.12"



int main (void) {

int sdc;
int sd;
int lgr_add_expedi;
lgr_add_expedi=16;
int lgr_add_desti;
lgr_add_desti=16;
sdc=0;
struct sockaddr_in sa,server_s;

sd=socket(AF_INET,SOCK_DGRAM,0);

char message[256];
while( sdc<99){ message[sdc]='a';
sdc++;}




bzero((char *)&server_s,sizeof(server_s));
server_s.sin_family=AF_INET;
server_s.sin_addr.s_addr=htonl(0);
server_s.sin_port=htons(6666);

if(bind(sd,(struct sockaddr *)&server_s,sizeof(server_s))<0)

{
printf("bind:can't connect local adress");

exit(1);

}

sendto(sd, message,100,0,(struct sockaddr *)&server_s,lgr_add_desti);

recvfrom(sd,message,sizeof(message),0,(struct sockaddr *)&sa,&lgr_add_expedi);
printf(" message recu %s\n" ,message);

}




et voici les erreurs :
Sorry, command-not-found has crashed! Please file a bug report at:
https://bugs.launchpad.net/ubuntu/+source/command-not-found
Please include the following information with the report:
unsupported locale setting
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 19, in <module>
parser = OptionParser(version = __version__, usage=_("%prog [options] <command-name>"))
File "/usr/lib/python2.5/gettext.py", line 584, in lgettext
return ldgettext(_current_domain, message)
File "/usr/lib/python2.5/gettext.py", line 556, in ldgettext
return t.lgettext(message)
File "/usr/lib/python2.5/gettext.py", line 366, in lgettext
return tmsg.encode(locale.getpreferredencoding())
File "/usr/lib/python2.5/locale.py", line 514, in getpreferredencoding
setlocale(LC_CTYPE, "")
File "/usr/lib/python2.5/locale.py", line 478, in setlocale
return _setlocale(category, locale)
Error: unsupported locale setting
Python version: 2.5.2 final 0
bash: envoi : commande introuvable

Je vous remercie d'avance

Configuration: Linux
Firefox 3.0.5

Meilleures réponses pour « programmation reseau:sockets » dans :
Programmation réseau - Les sockets Voir Introduction aux sockets La notion de sockets a été introduite dans les distributions de Berkeley (un fameux système de type UNIX, dont beaucoup de distributions actuelles utilisent des morceaux de code), c'est la raison pour laquelle on parle...
[Vista] Gérer les réseaux sans fil VoirIntroduction Gérer les réseaux sans fil Supprimer un réseau sans fil Renommer un réseau sans fil Modifier l'ordre d'un réseau Modifier les propriétés d'un réseau Ajouter/Créer un réseau sans fil Se connecter/déconnecter à/d'un réseau...
Ressources programmation système Linux VoirVoici quelques liens qui vous permettront de vous aider à vous débrouiller avec la programmation système sous Linux. Tutoriels Page de M. Billaud (fr) Un cours/tutoriel sur la programmation système et réseau sous Unix. Très complet. Cours de...
Réseaux sans fil - Wireless Networks VoirQu'est-ce qu'un réseau sans fil Un réseau sans fil (en anglais wireless network) est, comme son nom l'indique, un réseau dans lequel au moins deux terminaux (ordinateur portable, PDA, etc.) peuvent communiquer sans liaison filaire. Grâce aux...
Analyseurs réseau (sniffers) VoirL'analyse de réseau Un « analyseur réseau » (appelé également analyseur de trames ou en anglais sniffer, traduisez « renifleur ») est un dispositif permettant d'« écouter » le trafic d'un réseau, c'est-à-dire de capturer les informations qui y...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...

1

kilian, le 29 jan 2009 à 11:22:32

Salut,

Pourquoi un message d'erreur de l'interpréteur python?
Ca ne devrait pas intervenir dans un programme n'utilisant que des sockets en C.

Tu utilises un logiciel particulier pour executer ton application?
Dis moi les commandes que tu tapes. Ce message ne mange ni trop gras, ni trop salé, ni trop
sucré .Pour sa santé il bouge plus et mange 5 fruits et 
légumes par jour.

Répondre à kilian

2

pachalcs, le 29 jan 2009 à 11:53:25

Au fait, cette erreur python etait liée a ma facon d'executer l'executable(je mettais par exemple message et non ./message): c'est réglé mais le probleme c'est qu'au niveau reception, je recois aucun message

Répondre à pachalcs

3

kilian, le 29 jan 2009 à 11:56:33

Tu devrais utiliser wireshark, indispensable pour la programmation réseau:
http://www.wireshark.org/ Ce message ne mange ni trop gras, ni trop salé, ni trop
sucré .Pour sa santé il bouge plus et mange 5 fruits et 
légumes par jour.

Répondre à kilian

4

Char Snipeur, le 29 jan 2009 à 11:56:33

Salut.
Il ne faut pas recevoir sur une autre socket ? Salutation !
Char Snipeur

Répondre à Char Snipeur

5

toto, le 29 jan 2009 à 12:00:32

Bonjour

Analyse ce qui passe sur ta carte réseau avec un utilitaire comme Wireshark
http://www.wireshark.org/news/20081210.html
Tu seras sûr de ce que tu envoies ou n'envoies pas

Répondre à toto

6

 pachalcs, le 31 jan 2009 à 14:26:43

Merci a kilian, toto et snipeur, premierement j'envoyai rien sur le reseau(wireshark m'a aidé), deuxièmemen j'avais oublié de faire le lien avec le socket de reception et tertio au début je compilais.
J'ai réglé le probleme j'arrive meme a communiquer avec un autre ordinateur

Répondre à pachalcs