Probleme sockets de mer**

cs_zzzzzz Messages postés 408 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 décembre 2012 - 14 avril 2003 à 22:37
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 15 avril 2003 à 12:33
bé je suis plus quoi faire j'en suis toujours au meme prob y'en a 1 qui me dit d'utiliser strstr() l'autre strcmp() fin bref ca serrais sympas si quelqun me donne le code qui recois les messages et qui verifie si la commande abcd est recu car le je sais plus koi faire merci ! (PS: Kaid j'ai justement remplacer accept par recvfrom() ca se compile mais la c encore pire ca m'avertie pas quand quelqun se connect et ca me fais ramer a mort

la definition de recvfrom pour Kaid

recvfrom()
La fonction recvfrom est presque identique à sendto(). Vous avez besoin d'utiliser SOCK_DGRAM lors de la création du socket(), comme pour le sendto(). recvfrom(socket, message, longueur, 0, sin, sizeof(sin)); Le sin sera celui du client qui vous aura envoyé un paquet. Notez que vous devrez configurer le sin comme si vous feriez un serveur régulier. Voir plus haut pour plus d'informations.

donc chez pas si c vraiment c fin bon je laiss tel quel

#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
#include

int main()
{
SOCKET sock;
SOCKADDR_IN sin;
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);

sock = socket(AF_INET, SOCK_STREAM, 0);

sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_family = AF_INET;
sin.sin_port = htons(21452);

bind(sock, (LPSOCKADDR)&sin, sizeof(sin));
listen(sock, 0);
char *abcd = "abcd";
char *buf = "0";
char *buf2 = "1";

while(1)
{
recv(sock,buf2,sizeof(buf2),0);

SOCKADDR_IN s_from;

if((recvfrom(sock,buf2,sizeof(buf2),0,(LPSOCKADDR)&s_from,(int *)sizeof(&s_from)) != INVALID_SOCKET))
{
cout<<"Client connecter sur le port 21452\n"<<endl;
if (strcmp(buf,abcd)== 0) {
cout<<"Commande abcd Recu !\n";
}
}
}
return 0;
}

3 réponses

cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
14 avril 2003 à 23:57
Je t'ai pas dis que remplacer une fonction par une autre mais d'inverser les appels. Ton code devrait ressembler au code suivant (ni testé, ni compilé):

#include <windows.h>
#include <winsock2.h>
#include
#include kaid.fr.st
0
cs_zzzzzz Messages postés 408 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 décembre 2012
15 avril 2003 à 12:29
aie meci je vais essayer d'y compiler mais tu peut m'expliquer c'est quoi le assert ?
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
15 avril 2003 à 12:33
Tu peux pas regarder la MSDN pour le savoir ?

Kaid - kaid.fr.st
0
Rejoignez-nous