probleme completement inexplicable avec les sockets sous windows c++ - C++ - Programmation
Marsh Posté le 23-05-2005 à 23:20:19
tu lis pas sur la bonne socket
Marsh Posté le 23-05-2005 à 23:58:45
mais si je lis sur la bonne socket (sock),c'est ke j'ai binde !!!!!!
Marsh Posté le 24-05-2005 à 00:11:29
recv(serveur,recevoir,sizeof(recevoir),0);
pas bonne socket, cf aide de "accept"
et en plus tu as deux accept, c'est pas bon
Marsh Posté le 24-05-2005 à 00:27:54
mais pk pas bonne socket!!!
serveur est socket ki represente le client de ki elle va recevoir les strings
@@@+++++++++
Marsh Posté le 24-05-2005 à 01:45:19
ne trouvez pas kil n y aucune erreur dans ce prog?,n'est il pas inexplikable kil ne fonctionne pas correctement??
Marsh Posté le 24-05-2005 à 01:55:07
j'ai teste ce malin prog avec moi meme,le norton me signale une connection je coche permit mais sans resultat et kand je le teste avec des amis,on ne constate rien comme si le client ne se connecte pas eu serveur,si klkin de vous ne me crois pas je suis pret a le tester avec lui,lui meme il va compile le serveur ou le client
Marsh Posté le 24-05-2005 à 01:56:08
je vous ensupplie de m'aider a trouve la solution svp ctrop !!!!!!!!!!
Marsh Posté le 24-05-2005 à 07:33:44
Tout le monde te l'a déjà dit, tu te mélanges les pinceaux avec tes sockets ...
Marsh Posté le 24-05-2005 à 08:46:00
toeboe a écrit : ne trouvez pas kil n y aucune erreur dans ce prog?,n'est il pas inexplikable kil ne fonctionne pas correctement?? |
Il est perclu d'erreurs ton pauvre programme de merde, c'est pas inexplicable qu'il ne marche pas, c'est meme une chance qu'il deconne, ca nous prouve qu'il reste encore en ce bas monde des choses comprehensibles
Alors vu que t'es un peu dur de la feuille je te le redis :
1/ tu as deux accept => pas bon
2/ tu ne lis pas (coté serveur) sur la bonne socket => cf doc de accept
3/ (bonus) des exemples de client serveur qui marchent, y'en a plein le net
et arrete d'écrire comme un triso, ca saoule
Marsh Posté le 24-05-2005 à 09:00:54
toeboe a écrit : mais pk pas bonne socket!!! |
toeboe a écrit : pas logik !!!!!!!!!!!!! |
toeboe a écrit : ne trouvez pas kil n y aucune erreur dans ce prog?,n'est il pas inexplikable kil ne fonctionne pas correctement?? |
toeboe a écrit : j'ai teste ce malin prog avec moi meme,le norton me signale une connection je coche permit mais sans resultat et kand je le teste avec des amis,on ne constate rien comme si le client ne se connecte pas eu serveur,si klkin de vous ne me crois pas je suis pret a le tester avec lui,lui meme il va compile le serveur ou le client |
toeboe a écrit : je vous ensupplie de m'aider a trouve la solution svp ctrop !!!!!!!!!! |
on t'a déja donné la réponse, tu crois pas qu'il serait temps de brancher tes neurones et de réflechir un coup ?
et tu serais gentil d'écrire correctement stp, sans ça je me verrais dans l'obligation de fermer ton topic
Marsh Posté le 24-05-2005 à 11:06:15
tout d'abord je m'execuse pour mon ecriture,meme si j'ai
remplaçe recv(serveur,,)par recv(sock,,)ça na rien donne
en plus çe n'est pas faux d'ecrire accept()dans le while
parceke j'essaye de recuper la valeur retourne par accept()
sans declarer de nouveaux variable,enfin si vous avez un
autre avis ke le mien essayez plus clair s'il vous plait
@@++
Marsh Posté le 24-05-2005 à 11:42:36
chrisbk =
1-cpas faux les deux accept()
2-je lis sur la bonne socket,tu constate pas que sock est le nom de socket que j'ai binde(coller)????
je crois que je tai explique tous monsieur chrisbk
@@++++
Marsh Posté le 24-05-2005 à 11:49:16
...
Bon ben chrisbk, il te reste plus qu'à le remercier...
Sincèrement, tu n'as même pas essayé la solution, tu n'es pas poli, tu ne fais aucun effort d'écriture (bon vu ta ville dans le profil, ça peut éventuellement s'excuser sur le fond), et tu te permets d'envoyer bouler...
ça donne envie de répondre tiens
Marsh Posté le 24-05-2005 à 11:58:04
toeboe a écrit : chrisbk = |
tu comptes lire cette bondieu de doc sur "accept" un jour ou pas ?
Marsh Posté le 24-05-2005 à 12:08:47
je suis pret a tester avec toi monsieur chrisbk parceke je
top de sur que tu ne sais pas ce ke tu dit meme en socket
je crois pas ke tu sais les utiliser !!!!!!!
Marsh Posté le 24-05-2005 à 12:09:41
toeboe a écrit : chrisbk = |
mais bien sur que si c'est faux, bougre d'étron entété !! tu acceptes la connection une fois, c'est pas pour la réaccepter une seconde fois ! dégage donc le 1er "accept" et garde celui qui est dans le if()
toeboe a écrit : |
tu lis sur la socket du client !! il faut lire sur la socket du serveur ! comme le dit chrisbk, cf doc de accept() :
http://publib.boulder.ibm.com/info [...] pc1m3j.htm
et tu serais gentil d'arréter de prendre les gens de haut, surtout quand tu as tout faux comme c'est le cas actuellement. ton programme est faux et archi faux, et tu te permets de la ramener et de dire à chrisbk qu'il a tort ! je pense que si des mecs comme chrisbk ou Taz ou Delahaye ou autres te disent des trucs, tu peux leur faire une confiance quasi aveugle ! alors arrête un peu ton cinéma, et comme je te l'ai dit, met les neurones en marche !
Marsh Posté le 24-05-2005 à 12:10:26
toeboe a écrit : je suis pret a tester avec toi monsieur chrisbk parceke je |
un conseil, ferme là et lis mon post au dessus ! je suis à 2 doigts de te bannir là
Marsh Posté le 24-05-2005 à 12:11:28
meme si jen doute que tas le courrage d'accepter ce defi!!!!!!!!!!!!!!
Marsh Posté le 24-05-2005 à 12:11:59
bon allez, télétubbies, parce que là tu m'énerves royalement
Marsh Posté le 24-05-2005 à 12:14:21
toeboe a écrit : je suis pret a tester avec toi monsieur chrisbk parceke je |
bin si tu veux, en attendant mon client/serveur marche, le tiens non
Et donc, je demandais, tu comptes lire la doc sur accept ou non ?
Marsh Posté le 24-05-2005 à 12:15:26
toeboe a écrit : meme si jen doute que tas le courrage d'accepter ce defi!!!!!!!!!!!!!! |
bah, jpense pas que je suis admissible dans les para olympiques
Marsh Posté le 24-05-2005 à 12:23:51
Moi je pense aussi que chrisbk sait pas utiliser les sockets Il fait son malin et tout mais il sait pas faire
Marsh Posté le 24-05-2005 à 12:24:50
J'avoue
c'est quoi une socket ?
Marsh Posté le 24-05-2005 à 12:25:29
C'est ça :
Marsh Posté le 24-05-2005 à 12:26:15
ah bin c'est bien ce que je dis, il utilisait pas la bonne
Marsh Posté le 24-05-2005 à 12:31:44
ReplyMarsh Posté le 24-05-2005 à 12:54:14
Le coup des 2 sockets
Marsh Posté le 23-05-2005 à 23:10:32
slt !!
je debute a la programmation reseaux en c++,et afin de developpez mes capacites j'ai decide de programmer le plus simplement possible un client/serveur du chate sous dos mais le probleme c'est ke le client n'arrive pas a se connecte au svr je vous pris de m'aider les gaz svp
voici les deux codes:
[cpp]
********************le client***************************************
#include<iostream.h>
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib" )
void main()
{
WSADATA wsa;
WSAStartup(MAKEWORD(2,0),&wsa);
char ip[20];
cout<<"tapez l adresse ip du serveur"<<endl;
cin>>ip;
SOCKET sock;
SOCKET serveur;
SOCKADDR_IN option;
option.sin_addr.s_addr=inet_addr(ip);
option.sin_family= AF_INET;
option.sin_port=htons(50);
sock=socket(AF_INET,SOCK_STREAM,0);
serveur=socket(AF_INET,SOCK_STREAM,0);
char buff[222],buff1[222];
while(1)
{
connect(sock,(SOCKADDR*)&option,sizeof(option));
while(int(connect(sock,(SOCKADDR*)&option,sizeof(option)))!=INVALID_SOCKET)
{
cout<<"connection etablie"<<endl;
for(;
{
cout<<"client = "<<endl;
gets(buff);
send(serveur,buff,sizeof(buff),0);
cout<<endl;
recv(sock,buff1,sizeof(buff1),0);
cout<<endl;
}
}
}
}
******************************le serveur**************************
#include<iostream.h>
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib" )
void main()
{
WSADATA mywinsock;
WSAStartup(MAKEWORD(2,0),&mywinsock);
SOCKET sock;
SOCKET serveur;
SOCKADDR_IN option;
SOCKADDR_IN client;
option.sin_addr.s_addr = htonl(INADDR_ANY);
option.sin_family=AF_INET;
option.sin_port=htons(50);
sock=socket(AF_INET,SOCK_STREAM,0);
serveur=socket(AF_INET,SOCK_STREAM,0);
bind(sock,(SOCKADDR*)&option,sizeof(option));
int americ=sizeof(option);
char recevoir[222];
char envoyer[222];
listen(sock,0);
while(1)
{
accept(sock,(SOCKADDR*)&client,&americ);
if(accept(sock,(SOCKADDR*)&client,&americ)!=INVALID_SOCKET)
{
cout<<"connection etablie!!"<<endl;
while(1)
{
recv(serveur,recevoir,sizeof(recevoir),0);
cout<<recevoir<<endl;
gets(envoyer);
cout<<endl;
send(sock,envoyer,sizeof(envoyer),0);
}
}
}
}
*************************************************************
enfin,je vous assure ke jai essaye de le corrige mais sans resultat et merçi d'avance pour votre aide
@@+++