|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||
|
Invité de passage
![]() Lycéen Inscription : février 2012 Messages : 4 ![]() |
Bonjour,
J'ai de gros problèmes avec Indy pour faire du TCP. J'utilise idTCPServer configuré comme ceci : - Port 4554 - ListenQueue 15 - MaxConnections 0 - ReuseSocket en OSDependant - TerminateWait 5000 Le client idTCPClient se connecte au server via le port 4554. Normal. Le client se connecte au server quand j'appuie sur un bouton. Et envoie 3 messages avant de se déconnecter. Code :
Code :
Citation:
Citation:
Citation:
Ca fait une semaine que je me casse la tête avec ça... C'est un peu ma dernière chance de faire fonctionner cette chose. |
|||||||
|
|
00
|
|
|
#2 | |
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
Bonjour,
Foireux ? Bien que je n'utilise plus Indy, c'est un qualificatif qui, malgré les nombreux usages de celui-ci, est rarement rencontré. Il faut bien une exception. Peut-être est-ce le cas ici. Sans aucunement préjuger de votre code, quand avec Indy le mien ne répondait pas au résultat souhaité, souvent la cause en était des "subtilités" et des mauvaises pratiques qui pourtant me semblaient logiques et "naturelles" d'autant qu'aucun message d'erreur n'agrémentait le résultat inattendu. Compliqué en plus, notamment -mais pas seulement- par la succession de versions (8,) 9 et 10 dont les fonctions et procédures ne sont pas toujours utilisables de la même façon d'une version à l'autre, bien que souvent elles conservent le même nom ou un nom très proche. Je ne sais pas si cela pourra vous aider mais John Colobri a fait des tutos sur Indy 9 et 10 (avec Delphi) et on trouve pas mal de docs sur les forums Delphi. Peut-être à vérifier aussi, la réelle compatibilité d'Indy avec Mac OS : il me reste un "soupçon". J'avais rencontré des problèmes d'installation aussi bien sous Win que Nux mais sur Mac OS X, ils sont demeurés insurmontables. Je suis content cependant d'apprendre que je m'y prenais mal : bien que n'ayant pas disposé du Mac longtemps (1 semaine), j'avais conclu trop rapidement que sous Lazarus, Indy 10 n'était pas "compatible". Citation:
Cordialement. Gilles |
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Lycéen Inscription : février 2012 Messages : 4 ![]() |
J'avoue que Indy peut-être assez complexe. Mais franchement, un truc plus simple que ce que je veux faire c'est pas possible >_<.
Je veux juste envoyer 3 strings à la suite, et de les lire une seul fois dans l'ordre, je lui demande pas de me faire quelque chose de compliqué hein ^^''. Le tuto est quand même sympa, mais j'ai l'impression que limite ça me fait penser que Indy ne marche tout simplement pas sur Mac. Les résultats sont aberrants je trouve. Reste que Synapse qui tourne sur Mac, mais là j'avoue que j'ai rien capté à l'utilisation, ça a l'air galère aussi. Je sens que c'est pas demain que je vais faire du networking avec Lazarus.... Pour installer sur Mac c'était un peu compliqué aussi, mais officiellement c'est "compatible". |
|
|
00
|
|
|
#4 | |||||
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
Bonsoir,
Citation:
Si vous l'utilisez en Win, vous commenterez le cthreads : Code :
La principale modification est dans TCPServer. Il faut remplacer dans les uses la winsock par synsock Code :
Lien ftp. Dernière précision : si Synapse fonctionne (paraît-il) sous Mac, la bibliothèque est normalement "only 32 bits" quelque soit l'environnement. Cordialement. Gilles |
|||||
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Lycéen Inscription : février 2012 Messages : 4 ![]() |
Merci Gilles,
Avec Lazarus 0.9.30.2 et fpc 2.4.4, j'arrive à compiler. Par contre après j'arrive à rien faire avec le form. C'est comme si tout est disabled :S. C'est un peu bizarre, j'ai essayé de créer une nouvelle forme en la faisant pareil, mais le même problème. Je vais continuer à voir si j'arrive à faire marcher, merci pour l'exemple Je vais essayer d'en tirer quelque chose quand même. |
|
|
00
|
|
|
#6 | ||
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
Bonjour,
A mon avis, recréez un projet. Dans son répertoire, copiez la librairie Synapse. Dans Projet --> options --> option du compilateur --> chemin, vous ajoutez le chemin relatif de la librairie (ie libsynapse) dans Autres fichiers unité (-Fu) et dans Librairies (-FI). Ceci fait, vous devriez essayer-plutôt que de refaire les Forms ou les Units- de copier dans le répertoire du projet les 4 fichiers mainU.lfm, mainU.pas, TCPClient.pas, TCPServer.pas... Ne pas oublier d'ajouter mainU après Forms, dans les uses du projet (Projet --> View Project Source). Code :
Si cela ne fonctionne pas, vous pourrez reconstruire la Form et les 2 units... Peut-être dans les uses y a-t-il quelque chose de différent (supplémentaire) sous Mac. Cordialement. Gilles |
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Lycéen Inscription : février 2012 Messages : 4 ![]() |
Bon décidément Mac c'est pas mon truc... J'abandonne de développer sur cet OS, je retourne à un bon vieux Windows. Même avec une vieille version de Delphi j'ai toujours réussi faire ce que je voulais :/.
Sur Indy les paquets n'arrivent pas dans l'ordre, c'est un peu mauvais. Synapse même si ça peut marcher un peu mieux en théorie, ça à l'air un peu galère quand même. |
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
Bonjour,
Désolé de ne pouvoir vous aider plus. Je n'ai pas eu le temps -ni l'envie d'ailleurs- de faire plus d'efforts que vous avec Mac. Naïvement, j'ai cru au départ que Mac OS X, proche cousin de Linux*, serait facile à utiliser en programmation avec Lazarus. J'ai rapidement déchanté. Je me sers tous les jours de Win et Nux avec Lazarus et c'est vraiment un plaisir... ce qui n'empêche pas les prises de tête. Si Mac OS n'était pas un choix "contraint" et que vous voulez essayer autre chose que Win, essayez Nux si vous ne connaissez pas. Avec Wubi par exemple, vous pouvez installer et désinstaller Ubuntu en un clin d'oeil à partir de votre Windows... Lazarus/FPC s'installe très bien... et fonctionne très bien (y compris Indy Cordialement. Gilles * si j'en crois les informations Web, MacOSX est un Unix basé sur un noyeau spécifique (Xnu) et utilisant principalement des packages BSD. |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 117 ![]() |
Bonjour,
Pour avoir porté un projet complet de Delphi/Windows vers Lazarus/Mac, je peux confirmer avec fermeté que Indy ne fonctionne pas du tout sur MacOS. D'une manière générale, Lazarus n'est pas non plus un modèle de stabilité sur cette plateforme, mais reste utilisable, à condition d'oublier Indy. Synapse fonctionne très bien en effet. Ce n'est absolument pas galère, mais ça change évidemment les habitudes. André. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com