Accueil > Forum > > > > Operation socket on non socket
Operation socket on non socket
lundi 18 juin 2007 à 20:55:50 |
Operation socket on non socket

let_me_in
|
salut tout le monde, voici mon code : client: [code] #include #include #include #include #include #include #include #include #define MAX_SEND 100 int main() { int socket_connect, sockaddr_len; struct sockaddr_in sockaddr_connect,merde; char buffer[MAX_SEND]; sockaddr_connect.sin_family = AF_INET; sockaddr_connect.sin_addr.s_addr = inet_addr("127.0.0.1"); sockaddr_connect.sin_port = htons(6668); sockaddr_connect.sin_zero[8]=0; if(socket_connect = socket(AF_INET, SOCK_STREAM, 0) < 0) { printf("Socket creation errror !\n" ); return EXIT_FAILURE; } printf("socket=%d\n",socket_connect); if(connect(socket_connect, (struct sockaddr*)&sockaddr_connect, sizeof(sockaddr_connect)) < 0) { printf("Socket connection error !\n" ); perror("erreur"); return EXIT_FAILURE; } while(1) { printf("send>" ); scanf("%s", &buffer); write(socket_connect, buffer, MAX_SEND); } close(socket_connect); return 0; } [/code] serveur: [code] #include #include #include #include #include #include #include #define MAX_RECEPT 100 int main(int argc, char* argv[]) { if(argc < 2) { printf("Parameters error !\n" ); return EXIT_FAILURE; } int socket_server, socket_client, server_len, client_len; struct sockaddr_in sockaddr_server, sockaddr_client; char buffer[MAX_RECEPT]; char buff[50]; time_t date; FILE* f = fopen(argv[1], "a" ); if((socket_server = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("Socket creation error !\n" ); return EXIT_FAILURE; } sockaddr_server.sin_family = AF_INET; sockaddr_server.sin_port = htons(6668); sockaddr_server.sin_addr.s_addr = INADDR_ANY; server_len = sizeof(sockaddr_server); client_len = sizeof(sockaddr_client); if(bind(socket_server, (struct sockaddr*)&sockaddr_server, server_len) < 0) { printf("Socket bind error !\n" ); printf("%d\n",errno); perror("erreur :"); return EXIT_FAILURE; } if(listen(socket_server, 10) < 0) { printf("Socket listen error !\n" ); return EXIT_FAILURE; } printf("[~]Waiting connection... \n" ); socket_client = accept(socket_server, (struct sockaddr*)&sockaddr_client, &client_len); printf("[~]Established connection !\n" ); time(&date); fprintf(f, "[!]Established connection at %s\n", ctime(&date)); while(1) { if(read(socket_client, &buffer, MAX_RECEPT) < 0) { printf("Socket read error !" ); return EXIT_FAILURE; } printf("From client : %s\n\n", buffer); fprintf(f, "From client : %s\n", buffer); } close(socket_client); printf("Saving in %s\n", argv[1]); return 0; } [/code] le serveur se lance bel et bien, mais le client me retourne cette erreur, et connect retourne 0 (j'ai lu quelque part que ceci n'est pas un probleme du fait que c'est >0). une idee la dessus merci d'avance.
|
|
lundi 18 juin 2007 à 21:11:20 |
Re : Operation socket on non socket

let_me_in
|
desolé pour le double poste, mais j'ai cherché le bouton edit et j'ai pas trouvé. salut tout le monde, voici mon code : client: #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <stdio.h>
#define MAX_SEND 100
int main()
{
int socket_connect, sockaddr_len; struct sockaddr_in sockaddr_connect,merde;
char buffer[MAX_SEND];
sockaddr_connect.sin_family = AF_INET;
sockaddr_connect.sin_addr.s_addr = inet_addr("127.0.0.1");
sockaddr_connect.sin_port = htons(6668);
memset (&sockaddr_connect.sin_zero[8], 0, 1);
if(socket_connect = socket(AF_INET, SOCK_STREAM, 0) < 0)
{
printf("Socket creation errror !\n" );
return EXIT_FAILURE;
}
printf("socket=%d\n",socket_connect);
if(connect(socket_connect, (struct sockaddr*)&sockaddr_connect, sizeof(sockaddr_connect)) < 0)
{
printf("Socket connection error !\n" ); perror("erreur");
return EXIT_FAILURE;
}
while(1)
{
printf("send>" );
scanf("%s", &buffer);
write(socket_connect, buffer, MAX_SEND);
}
close(socket_connect);
return 0;
}
serveur :
#include <sys/socket.h> #include <netinet/in.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <errno.h>
#define MAX_RECEPT 100
int main(int argc, char* argv[])
{
if(argc < 2)
{ printf("Parameters error !\n" ); return EXIT_FAILURE; } int socket_server, socket_client, server_len, client_len; struct sockaddr_in sockaddr_server, sockaddr_client; char buffer[MAX_RECEPT]; char buff[50]; time_t date; FILE* f = fopen(argv[1], "a" ); if((socket_server = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("Socket creation error !\n" ); return EXIT_FAILURE; } sockaddr_server.sin_family = AF_INET; sockaddr_server.sin_port = htons(6668); sockaddr_server.sin_addr.s_addr = INADDR_ANY; server_len = sizeof(sockaddr_server); client_len = sizeof(sockaddr_client); if(bind(socket_server, (struct sockaddr*)&sockaddr_server, server_len) < 0) {
printf("Socket bind error !\n" ); printf("%d\n",errno); perror("erreur :");
return EXIT_FAILURE;
}
if(listen(socket_server, 10) < 0)
{
printf("Socket listen error !\n" );
return EXIT_FAILURE;
}
printf("[~]Waiting connection... \n" );
socket_client = accept(socket_server, (struct sockaddr*)&sockaddr_client, &client_len);
printf("[~]Established connection !\n" );
time(&date);
fprintf(f, "[!]Established connection at %s\n", ctime(&date));
while(1)
{
if(read(socket_client, &buffer, MAX_RECEPT) < 0)
{
printf("Socket read error !" );
return EXIT_FAILURE;
}
printf("From client : %s\n\n", buffer);
fprintf(f, "From client : %s\n", buffer);
}
close(socket_client);
printf("Saving in %s\n", argv[1]);
return 0;
}
le serveur se lance bel et bien, mais le client me retourne cette erreur, et connect retourne 0 (j'ai lu quelque part que ceci n'est pas un probleme du fait que c'est >0). une idee la dessus merci d'avance.
|
|
lundi 18 juin 2007 à 22:59:04 |
Re : Operation socket on non socket

aardman
|
Réponse acceptée !
Salut, if(socket_connect = socket(AF_INET, SOCK_STREAM, 0) < 0) il manque des parentheses ici, le < est prioritaire sur le =.
|
|
lundi 18 juin 2007 à 23:10:41 |
Re : Operation socket on non socket

let_me_in
|
salut tout le monde mon probleme est resolu, il fallait juste ajouter des parentheses sur
if ((socket_connect=socket(..))<0)
voila pour les ceux que ça interesse.
a+
|
|
lundi 18 juin 2007 à 23:11:48 |
Re : Operation socket on non socket

let_me_in
|
Réponse acceptée !
tient, j'ai deux reponse au meme moment sur deux forum, merci pour ta reponse.
|
|
Cette discussion est classée dans : code, include, socket, connect, sockaddr
Répondre à ce message
Sujets en rapport avec ce message
Socket [ par casper_2 ]
Rebonjour,jaimerais savoit,koment pourrai-je me reconecter automatiquement au serveur.ex:je lance mon programme sans ouvrir ma connexion internet.10 s
probleme de communication entre deux programme [ par smook ]
re salut le dernier message que j ai poster c etait pour les socket et la librairie "libwsock.a" mais sayer j ai passer cette etape j ai reussi a fair
Socket connection manager Asterisk [ par kloklo22 ]
Bonjour, j'ai besoin avec un programme C de me connecter au manager afin de récupérer des infos spécifiques mais mon problème c'est que ma socket en
Probléme a l'éxécution [ par jerem3000 ]
Bonjour Je crée un programme qui permet d'envoyer par email le contenue d'un fichier .txt , il devrait normalement marche car il n'y a pas d'erreur
Compiler un code c par dev_cpp [ par mechwalid ]
Bonjour [^^youpi]: , j ai essayé de compiler ce petit code : #include #include int main (void) { printf("Hello world!\n"); system("pause");
Code C : resolveur de meistermind probleme [ par kinder87000 ]
Salut à tous, Voila mon problème j'ai essayer de faire un résolveur de meistermind mais je ne sais pas comment associer des couleurs à des chiffres e
DeviceIoControl [ par raphui ]
Salut a tous ! Je développe un " driver " , permettant de cacher un processus dans le Task Manager. Mon problème est que je n'arrive pas a envoyer u
Reseaux/Sockets pb client/serveur [ par Rayn3d ]
Bonjour tous le monde, j'ai un probleme avec un programme en reseaux client/serveur : lorsque j'envoie un message au client il se decoupe en plusieu
programmation socket [ par you147 ]
salut,j'ai un ptite application de programmation socket de chate client/ serveur sous lunix en C mais il y a un erreur je comprid pas cette erreur aid
Lecture fichier .config [ par wislam2007 ]
Salut J'ai le code ci-dessous qui permet la lecture d'un fichier .config, le probleme que sous DevCpp marche mais avec visual c++ 6.0 non plus. [code=
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|