CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Reseau] SDL_Net

Vengeur41
Vengeur41
Niveau 10
14 août 2005 à 14:34:20

Salut,
Je viens de commencer à utiliser pour la première fois de ma vie SDL_Net :) Ca avait l´air plus simple que les sockets unix et Winsock et en plus c´est portable :)

Je voulais envoyer un char* du client au serveur, SDL m´a fait un segfault...

Voici mon code du serveur :

------
TCPsocket tcpSock, tcpAccept;
SDLNet_SocketSet socketset;
char *envoi;
. ..

while ( tcpSock==NULL){tcpSock = SDLNet_TCP_Accept(tcpAccept);}
printf("accept ok");
SDLNet_TCP_AddSocket(socketset, tcpSock);
SDLNet_CheckSockets(socketset, ~0);
( c´est la qu´il y´a le segfault)
if ( SDLNet_SocketReady(tcpSock) ) {
size = SDLNet_TCP_Recv(tcpSock, envoi, sizeof(envoi));
printf(envoi);
}
------

Voici le code du client :

SDLNet_ResolveHost(&,"localhost",4444);
tcpSock = SDLNet_TCP_Open(&);
SDLNet_TCP_AddSocket(socketset, tcpSock);
SDLNet_CheckSockets(socketset, ~0);

if ( SDLNet_SocketReady(tcpSock) ) {
size = SDLNet_TCP_Send(tcpSock, envoi, sizeof(envoi));
if ( size < sizeof(envoi))
printf("erreur");
else
printf("bien envoye");
}

Je cherche par la meme occasion des tutoriaux sur SDL_Net, tout ce que j´ai trouvé c´est la doc en anglais...

Merci

a++

Vengeur

Vengeur41
Vengeur41
Niveau 10
14 août 2005 à 19:57:25

Si je suis en 2ème page et que j´ai pas de réponse j´ai le droit à un up non ? C´est pas hyper important mais assez...

Vengeur41
Vengeur41
Niveau 10
15 août 2005 à 14:46:05

Au risque de passer pour un crétin et de me faire engueuler par lapintade ( je suis en 3ème page et toujours pas de réponse) :Up !

En précisant un truc : y´a evidemment un truc que je fais de travers, sans tuto c´est pas très facile...

godrik
godrik
Niveau 30
15 août 2005 à 16:22:02

Commences par donner tout ton code, dire qui plante ( le client ou le serveur) et ce qui est affiché

Vengeur41
Vengeur41
Niveau 10
15 août 2005 à 16:34:57

Les 2 plantent au meme niveau.
Mais mon code je sais qu´il ne parchera pas du tout.

En fait j´aimerais trouver un code où un serveur attend la connection d´un client puis lui envoie " hello word", le client recoit ca et l´affiche puis les 2 se déconnectent, le tout avec SDL_Net...
Un petit tuto quoi, pour me " lancer"...
Mais je ne trouve pas :)

godrik
godrik
Niveau 30
15 août 2005 à 20:14:35

Je ne sais pas opu trouver ca.
mais tu peux commencer par faire uniquement un serveur et tu le teste avec telnet.

ou faire un client et le tester avec le " service echo"

Vengeur41
Vengeur41
Niveau 10
15 août 2005 à 20:16:29

C´est à dire ?

En fait j´aimerais avoir un truc comme le chat de JYY pour apprendre SDL_Net...
Seulement le chat de JYY utilise Winsock et c´est utilisable uniquement sous Windows ( bon sous linux aussi en bidouillant un peu mais bon je préfère avoir un code direct portable)...

Lapintade
Lapintade
Niveau 30
15 août 2005 à 20:53:31

C´est le mauvais forum pour poster ce genre de chose ( essaie plutot forum programmation) c´est pour cela que tu as pas de reponses immediate.

Pour les ups, c´est interdit pour tout le monde, toi y compris.

Vengeur41
Vengeur41
Niveau 10
15 août 2005 à 20:58:49

Ben ca a un petit rapport quand meme : c´est pour un jeu de gestion de pingouins en ligne... oups j´en ai trop dit :-d

sanberi
sanberi
Niveau 5
15 août 2005 à 21:15:20

Effectivement sans le code en entier c´est dur.
Surtout que la comme ça il est évident que le Core dump est provoqué par manque d´affectation mémoire au pointeur envoie..

Passe le code complet si tu as bien affecter la mémoire.

Lapintade
Lapintade
Niveau 30
15 août 2005 à 22:35:50

Ok sorry, ton post est pas hors sujet alors.

dynoplasmma
dynoplasmma
Niveau 9
15 août 2005 à 22:48:18

Je trouve que dans l´actualité on parle pas asser de pingouins.
Yen a que pourels chiens et les chats.
Bonne initiative vengeur :)

godrik
godrik
Niveau 30
15 août 2005 à 23:26:13

l´applicaton telnet te permet de te connecter a un serveur
ainsi si tu as ouvert un serveur sur ta machine sur le port 80 ( un serveur http par exemple)
tu peux te connecter dessus en faisant " telnet localhost 80" dans ton interpreteur de commande.
si tu as activer le service " echo" ( services server sous windows je pense alors le serveur enverra au client qui se connecte sur lui exactement ce qu´il a recu.

Vengeur41
Vengeur41
Niveau 10
16 août 2005 à 11:15:24

Telent ne recoit rien, le serveur plante avant.

C´est quoi l´url du Wall déjà ?

JeanYvesYves
JeanYvesYves
Niveau 10
16 août 2005 à 11:24:01

" c´est pour un jeu de gestion de pingouins en ligne"

--> des pinguins ? Connaissant ton opinion d´admiration exclusive pour Linux, a mon avis, ce n´est pas innocent ?
Linux t´a donc tellement imprégné que ça ?
ça fait " secte" dans ton cas, loool !

Pour la portabilité,
tu as juste a changer le " include" et le link qui va avec :
des #ifdef WIN32 ou #ifdef NUNUX devraient suffir :rire:

Vengeur41
Vengeur41
Niveau 10
16 août 2005 à 11:27:38

Nan, Linux c´est des manchots d´abord !
Et puis j´ai dit ca pour rigoler ( pas tant que ca en fait...) !
Bah je préfère largement linux et si 99 % des gens utilisaient pas Windows, je ferais pas de portage :)

Je préfère utiliser SDL_Net, elle parait plus simple ( tellement que j´ai trop de mal à l´utiliser).
Mais bon si je peux pas l´utiliser, j´utiliserai les sockets " classiques"...

fantometteninja
fantometteninja
Niveau 6
17 août 2005 à 01:07:14

Tu pourras trouver un exemple de chat dans les sources de SDL_Net.
Ceci devrait grandement pouvoir t´aider je pense.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment