IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

comment utiliser les socket sous un réseau distant (d'un pc à un autre : aucun lien physique sauf le net)


Sujet :

Web & réseau Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut comment utiliser les socket sous un réseau distant (d'un pc à un autre : aucun lien physique sauf le net)
    bonsoire les amies je ss un débutant en programmation (delphi et tous...) ce que je veut faire c 'une application de chat comme le msn ou bien le yahoo et skype en fin un peuti logiciel de débutant...
    g teste mon application avec mon amie qui a un autre pc mé quant le client connect le serveur , mon serveur se block totalement ??!!
    en bref je veut realisez un logiciel de chat distant (pas en local)
    ma question est diviser en deux :
    1. es que les composant tclientsocket et tclientserver marche bien en réseaux distant ?
    2. quel sont les meilleur composant pour ce genre d'application ?
    merci d'avance les ami(es) , desolez pour le dérangement
    bonne programmation

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 573
    Points : 25 206
    Points
    25 206
    Par défaut
    Faut savoir que Skype est écrit en Delphi !

    Pour les Sockets, faut utiliser les Adresses publiques de vos ordinateurs !
    Pour le Server, attention, il faut programmer en Thread, faut pas faire de tache bloquante long dans OnConnect, OnRead ...

    Perso, j'ai un programme en Delphi qui utilise un ClientSocket sur le Port 22 d'un serveur SSH, un ServerSocket ouvert en local, et mon programme fait la passerelle Tunnel SSH au complet (via SecureBlackBox pour le PortForwarding et le formatage de la Trame à router), donc oui la connexion fonctionne très bien sur le Net !

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    merci mon ami , pour ta repense
    commet je ss un débutant en programmation
    g pas compris ce que tu veut par cette phrase "faut pas faire de tache bloquante long dans OnConnect, OnRead ..." spécialement "bloquante"
    es que tu veut dire par cela de ne pas utiliser beaucoup de commande dans ces évènements ??

    s'il te plait es que tu peut me donnez un exemple une petite source qui marche bien en distant ??
    une dernier question quelle sont les bonne sockets a utilisez pour ce genre de programmation ??
    merci pour votre aide

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 573
    Points : 25 206
    Points
    25 206
    Par défaut
    ne pas utiliser beaucoup de commande dans ces évènements ??
    Oui !
    Dans le OnConnect, tu peux faire des traitements, comme ajouter la connexion dans une liste, lancer 2-3 requêtes rapides pour gérer les droits ou les logs, disons qu'un temps max de 100ms est raisonnable ... tu peux faire plus, tout dépend le TimeOut de connexion de ton client !

    Dans le OnRead, là, mieux vaut stocker la trame reçu dans une ThreadList par exemple (voir Pointeur, Record, PChar, String et référence de String)
    Ainsi tu libères le plus vite que possible le OnRead, évitant de surcharger le tampon réseau de l'OS et tu peux ainsi traiter des données en parallèle de la réception (attention à la gestion des locks, il faut qu'il soit très court !)

    Ce n'est pas un développement de débutant comme tu l'as deviné !
    Bon Courage ! Il faudra lire plusieurs tutoriels sur le Forum (TCP\IP, Indy, Thread, ...)
    Regarde aussi les Exemples fournis sur le CD de Delphi comme NetChat.dpr !

    J'ai utilisé TClientSocket de Delphi 6 (attention au paquet de plus de 4Ko) mais aussi TTCPServer de Delphi 7 (faut bien maitrisé les Threads et le TCP\IP en général)
    Je ne connais pas les Indy ou ICS, mais ils sont plus souvent conseillés que les deux autres ...

  5. #5
    tintin22
    Invité(e)
    Par défaut
    Si mes souvenirs sont bons, je crois qu'il y a un exemple d'application de Chat dans le dossier Demos (Dossier d'installation de Delphi).

Discussions similaires

  1. Comment utiliser les sockets en tâche de fond
    Par rimste dans le forum JavaFX
    Réponses: 3
    Dernier message: 13/04/2015, 08h23
  2. Réponses: 1
    Dernier message: 02/05/2006, 11h41
  3. [CF][PPC/VB.NET] Comment utiliser les Socket avec Pocket PC ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 17/05/2005, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo