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 :
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...
Sécuriser ses réseaux professionnels VoirSécuriser ses réseaux professionnels Virus, spyware, spam des milliers de programmes néfastes sont aux portes du réseau informatique de votre entreprise et de votre ordinateur professionnel. Qui sont-ils et comment bloquer définitivement leurs...
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...
Créer un réseau local VoirPourquoi mettre en place un réseau local? Lorsque vous disposez de plusieurs ordinateurs, il peut être pratique de les connecter ensemble afin de créer un réseau local (en anglais LAN, abréviation de Local Area Network). La mise en place d'un tel...
Cryptographie - Secure Sockets Layers (SSL) VoirIntroduction à SSL SSL (Secure Sockets Layers, que l'on pourrait traduire par couche de sockets sécurisée) est un procédé de sécurisation des transactions effectuées via Internet. Le standard SSL a été mis au point par Netscape, en...

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