Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2832 connectés 

  FORUM HardWare.fr
  Réseaux grand public / SoHo
  Réseaux

  réagir a une connexion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

réagir a une connexion

n°977957
diablol
Posté le 17-06-2017 à 21:46:48  profilanswer
 

Bonjour a tous et merci d'avance de votre aide.
 
Voilà, j'ai une question simple mais assez complexe en même temps :
 
Est-il possible pour un OS d'interpréter un paquet
- Wake on Lan dans l'idéal
- un paquet a destination d'un port spécifique sinon
et de faire une action (lancer un logiciel) lorsqu'un paquet est capté ?
 
Peut-être avec un script en boucle, ou un logiciel spécialement prévu pour ?


Message édité par diablol le 17-06-2017 à 23:45:07
mood
Publicité
Posté le 17-06-2017 à 21:46:48  profilanswer
 

n°977998
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 11:40:12  profilanswer
 

oui biensur, soit un programme standard qui écoute sur un port et va lancer ton action lorsque la connexion se fait ou le mécanisme de port knocking (tu frappes à la porte de qqn et derrière il fait une action même si port fermé)

n°978001
diablol
Posté le 18-06-2017 à 11:45:15  profilanswer
 

Je@nb a écrit :

oui biensur, soit un programme standard qui écoute sur un port et va lancer ton action lorsque la connexion se fait ou le mécanisme de port knocking (tu frappes à la porte de qqn et derrière il fait une action même si port fermé)


Ah cool, tu aurais le nom d'un logiciel qui fait ça et qui est relativement facile a utiliser ? (je ne suis pas très doué en scripting)

n°978003
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 11:46:51  profilanswer
 

non j'en connais pas pour la première méthode, mais ça doit pas être très compliqué à coder.
Le port knocking (voir google) j'ai déjà fait sur du linux par contre

n°978004
diablol
Posté le 18-06-2017 à 11:49:28  profilanswer
 

Je@nb a écrit :

non j'en connais pas pour la première méthode, mais ça doit pas être très compliqué à coder.
Le port knocking (voir google) j'ai déjà fait sur du linux par contre


Ok ça marche, je vais me renseigner... merci de ton aide !
Si/quand je trouverai une solution, je la posterai ici au cas ou ça intéresse quelqu'un d'autre
 
PS : si quelqu'un a des propositions de logiciel ou script, je suis toujours preneur

n°978005
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 12:16:43  profilanswer
 

tu veux lancer quoi comme logiciel ?

n°978006
diablol
Posté le 18-06-2017 à 12:18:48  profilanswer
 

Je@nb a écrit :

tu veux lancer quoi comme logiciel ?

Kodi, c'est un logiciel de médiacenter.
Il existe une solution normalement, mais elle ne marche qu'avec un téléphone android et je n'ai pas d'android :s

n°978007
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 12:23:18  profilanswer
 

A l'arrache un truc comme ça en powershell doit faire le job:

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]12345; #Ton port
  2. $Listener.Start();
  3. while($true)
  4. {
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     Start-Process -FilePath "C:\....\Kodi.exe"
  8.     $client.Close();
  9. }
  10. $Listener.Stop();


Remplace 12345 par le port TCP que tu veux utiliser et le chemin de kodi par le vrai chemin.
Par contre là à chaque connexion il va t'ouvrir kodi je sais pas si c'est ce que tu veux

Message cité 1 fois
Message édité par Je@nb le 18-06-2017 à 15:08:21
n°978022
diablol
Posté le 18-06-2017 à 13:31:46  profilanswer
 

Je@nb a écrit :

A l'arrache un truc comme ça en powershell doit faire le job:

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]12345; #Ton port
  2. $Listener.Start();
  3. while($true)
  4. {
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     Start-Process -FilePath "C:\....\Kodi.exe"
  8.     $client.Close();
  9. }
  10. $Listener.Stop();


Remplace 12345 par le port TCP que tu veux utiliser et le chemin de kodi par le vrai chemin.
Par contre là à chaque connexion il va t'ouvrir kodi je sais pas si c'est ce que tu veux


Cool, Kodi s'ouvre bien quand j'initialise ma connection, par contre je n'arrive pas a m'y connecter, ça me met "connexion perdu" en boucle.
Je ne comprends pas tout ton script (qui a pourtant l'air simple), mais je pense qu'il faudrait stopper l'écoute de port si il détecte le processus kodi pour ne pas lancer l'exe en boucle ou s'accaparer les paquets (je ne sais pas si c'est possible mais bon) non ?

n°978028
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 14:07:17  profilanswer
 

normal, une fois qu'il a lancé kodi il ferme la connexion avec le client mais reste dispo si tu as besoin de le lancer une prochaine fois (au cas où tu fermes kodi par exemple ?)
Si tu veux que le script se termine une fois que kodi est ouvert suffit de virer ligne 3/4 et 9

mood
Publicité
Posté le 18-06-2017 à 14:07:17  profilanswer
 

n°978032
diablol
Posté le 18-06-2017 à 14:46:31  profilanswer
 

Je@nb a écrit :

normal, une fois qu'il a lancé kodi il ferme la connexion avec le client mais reste dispo si tu as besoin de le lancer une prochaine fois (au cas où tu fermes kodi par exemple ?)
Si tu veux que le script se termine une fois que kodi est ouvert suffit de virer ligne 3/4 et 9


Oui mais je ne veux pas qu'il ferme la connexion avec le client a chaque fois, sinon l'appli télécommande ne marche plus (si la boucle reste active, a chaque fois que ma télécommande essaye de se connecter, il relance l'exe et referme la connexion, du coup la télécommande réessaye et ça en boucle).
Je me suis surement mal exprimé, je veux que mon appli télécommande serve a démarrer Kodi, mais aussi a télécommander Kodi quand il est lancé ^^
Et comme tu l'as dit, si je vire les lignes 3/4/9 ça marche mais le script se ferme donc utilisable qu'une fois...
Du coup il faudrait juste rajouter un truc du genre "if process kodi.exe then retry else listen..." (c'est pas du power shell hein, c'est pour l'exemple xD ) comme-ça il arrête d'écouter le port si Kodi est déjà lancé et laisse la télécommande agir jusqu'a ce que je ferme Kodi.


Message édité par diablol le 18-06-2017 à 14:52:53
n°978035
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 15:08:34  profilanswer
 

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]12345; #Ton port
  2. $Listener.Start();
  3. while($true)
  4. {
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  8.     {
  9.         Start-Process -FilePath "C:\....\Kodi.exe"
  10.     } else {
  11.         Write-Host "Koki déjà lancé"
  12.     $client.Close();
  13. }
  14. $Listener.Stop();


Un truc comme ça alors ? (pas trop compris ce que tu disais :D), (je connais pas le nom de l'exécutable de kodi mais ligne 7 faut juste mettre le nom du programme sans .exe

n°978047
diablol
Posté le 18-06-2017 à 16:26:32  profilanswer
 

Je@nb a écrit :

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]12345; #Ton port
  2. $Listener.Start();
  3. while($true)
  4. {
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  8.     {
  9.         Start-Process -FilePath "C:\....\Kodi.exe"
  10.     } else {
  11.         Write-Host "Koki déjà lancé"
  12.     $client.Close();
  13. }
  14. $Listener.Stop();


Un truc comme ça alors ? (pas trop compris ce que tu disais :D), (je connais pas le nom de l'exécutable de kodi mais ligne 7 faut juste mettre le nom du programme sans .exe


Oui un truc comme-ça, (il manquait une "}" mais je l'ai rajouté) mais ma télécommande n'arrive toujours pas a se connecter, il n'y avait que quand le PS s'arrêtait (en virant le while que ça marchait, je pense qu'il faut faire un mix , par exemple dans le else il faudrait arrête tout listen comme comme quand le PS se ferme et attendre que le processus disparaisse pour tout relancer... oui je sais je suis chiant hein ^^
J'ai essayé un truc en utilisant les commandes que tu m'as déjà donné mais ça a foiré... Je ne gère vraiment pas en PS ^^
 
PS : le port c'est "8080", le chemin c'est "C:\Program Files (x86)\Kodi\kodi.exe" et ce processus c'est bien "kodi", (tout ça c'est sure ça a marché avec)

Message cité 1 fois
Message édité par diablol le 18-06-2017 à 16:26:56
n°978053
diablol
Posté le 18-06-2017 à 16:40:45  profilanswer
 

diablol a écrit :


Oui un truc comme-ça, (il manquait une "}" mais je l'ai rajouté) mais ma télécommande n'arrive toujours pas a se connecter, il n'y avait que quand le PS s'arrêtait (en virant le while que ça marchait, je pense qu'il faut faire un mix , par exemple dans le else il faudrait arrête tout listen comme comme quand le PS se ferme et attendre que le processus disparaisse pour tout relancer... oui je sais je suis chiant hein ^^
J'ai essayé un truc en utilisant les commandes que tu m'as déjà donné mais ça a foiré... Je ne gère vraiment pas en PS ^^
 
PS : le port c'est "8080", le chemin c'est "C:\Program Files (x86)\Kodi\kodi.exe" et ce processus c'est bien "kodi", (tout ça c'est sure ça a marché avec)


Ok c'est bon j'ai reussi !
 

Code :
  1. while($true)
  2. {
  3.     $Listener = [System.Net.Sockets.TcpListener]8080;
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe"
  8.     $client.Close();
  9.     $Listener.Stop();
  10.     while((Get-Process -Name kodi -ErrorAction SilentlyContinue) -ne $null)
  11.     {}
  12.     Write-Host "Kodi s'est arrêté";
  13.     Start-Sleep -s 10;
  14. }


 
Question bête et après je te laisse tranquille, il vaut mieux que je le mette dans la GPO local plutôt que dans le dossier démarrage de windows pour qu'ils soir silencieux non ?
enfin si ça existe, j'ai jamais trop fouillé dans les GPO locales :p


Message édité par diablol le 18-06-2017 à 16:46:09
n°978057
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 16:47:58  profilanswer
 

J'avoue j'ai un peu de mal à comprendre comment marche ta télécommande :D.
Là ton script j'ai peur qu'il bouffe du cpu constamment.
 
Tache planifiée je pense c'est le mieux

n°978063
diablol
Posté le 18-06-2017 à 16:57:53  profilanswer
 

Je@nb a écrit :

J'avoue j'ai un peu de mal à comprendre comment marche ta télécommande :D.
Là ton script j'ai peur qu'il bouffe du cpu constamment.
 
Tache planifiée je pense c'est le mieux


 
Bah en fait c'est une appli téléphone qui communique avec mon logiciel Kodi par le port 8080 pour lui envoyer des ordre comme une télécommande classique, mais comme ça me fait chier de prendre ma souris pour lancer Kodi a chaque fois, je cherchais une solution pour qu'il le lance des que je démarre l'appli de télécommande sur mon téléphone. tu vois ce que je veux dire ?
 
Ah oui, si ça bouffe beaucoup de CPU c'est chiant... qu'est-ce qui te fait dire ça ? peut-être qu'un timer d'une seconde dans la boucle global peut arranger ça ?
Parceque de ce que j'ai compris le fait d'écouter le port en boucle perturbait la télécommande, qui perdait la connexion en boucle...
ou si tu as une idée de modification je suis preneur !
 
Une tache planifié au démarrage ? c'est quoi la différence ?


Message édité par diablol le 18-06-2017 à 16:59:41
n°978067
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 17:09:08  profilanswer
 

kodi écoute sur le port 8080 une fois qu'il démarre c'est ça ?
Donc en fait tu as besoin que l'appli sur téléphone se connecte sur le port 8080 là c'est le script qui répond puis lance kodi et là kodi écoute sur le port 8080 et ta télécommande peut fonctionner ?
Puis qd tu fermes kodi et télécommande que le script reprenne la main et réécoute ?
 
tache planifiée au démarrage oui pk pas. Parce que c'est comme ça que fonctionne tous les lancements logiciels sur windows vista et plus

n°978070
diablol
Posté le 18-06-2017 à 17:16:24  profilanswer
 

Je@nb a écrit :

kodi écoute sur le port 8080 une fois qu'il démarre c'est ça ?
Donc en fait tu as besoin que l'appli sur téléphone se connecte sur le port 8080 là c'est le script qui répond puis lance kodi et là kodi écoute sur le port 8080 et ta télécommande peut fonctionner ?
Puis qd tu fermes kodi et télécommande que le script reprenne la main et réécoute ?


Voilà c'est exactement ça !
 

Je@nb a écrit :

tache planifiée au démarrage oui pk pas. Parce que c'est comme ça que fonctionne tous les lancements logiciels sur windows vista et plus


Mais ça a un intérêt par rapport au dossier démarrage ? c'est que ça le lance en silencieux je suppose ?

n°978072
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 17:25:42  profilanswer
 

Essaie ça alors :

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]8080;
  2. while($true)
  3. {
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     $client.Close();
  8.     $Listener.Stop();
  9.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  10.     {
  11.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  12.     } else {
  13.         Write-Host "Koki déjà lancé"
  14.     }
  15. }
 

Le principal c'est le -Wait qui dit au script d'attendre et la fermeture de la connexion par le script avant de lancer kodi comme ça il donne la main à kodi une fois lancé

Message cité 1 fois
Message édité par Je@nb le 18-06-2017 à 17:26:29
n°978073
diablol
Posté le 18-06-2017 à 17:43:13  profilanswer
 

Je@nb a écrit :

Essaie ça alors :

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]8080;
  2. while($true)
  3. {
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     $client.Close();
  8.     $Listener.Stop();
  9.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  10.     {
  11.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  12.     } else {
  13.         Write-Host "Koki déjà lancé"
  14.     }
  15. }


 
Le principal c'est le -Wait qui dit au script d'attendre et la fermeture de la connexion par le script avant de lancer kodi comme ça il donne la main à kodi une fois lancé


 
Ah bin voilà, tout simplement ^^
je peux rajouter un "Start-Sleep -s 10;" après le Start process pour être sure qu'il ne me relance pas kodi si je ferme l'appli téléphone quelques secondes après avoir fermé kodi, ça ne pause pas de problème si ?
 
Une autre question, J'ai mis l'Execution Policy en RemoteSigned mais il ne veux pas me lancer le script, il me le lance en txt cet enfoiré, je suis censé passé par un script en dos pour lancer mon PS ?


Message édité par diablol le 18-06-2017 à 17:44:13
n°978074
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 17:46:16  profilanswer
 

tu peux rajouter le sleep oui.
Pour le lancer: powershell.exe -ExecutionPolicy Bypass -NoProfile -File c:\trucmuche\script.ps1
dans la tache planifiée tu fais en action exécuter un programme qui s'appelle powershell.exe et dans les arguments tu met tout le reste

n°978075
diablol
Posté le 18-06-2017 à 17:57:28  profilanswer
 

Je@nb a écrit :

tu peux rajouter le sleep oui.
Pour le lancer: powershell.exe -ExecutionPolicy Bypass -NoProfile -File c:\trucmuche\script.ps1
dans la tache planifiée tu fais en action exécuter un programme qui s'appelle powershell.exe et dans les arguments tu met tout le reste


Ok ça a l'air de marcher, par contre j'ai beau cocher la case "masquer" et "configurer pour Windows 10" dans le planificateur de tache, il est visible...

n°978076
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 18:03:29  profilanswer
 

tu as bien mis que l'utilisateur soit logué ou pas ? (ça fait lgt que j'en ai pas fait)

n°978078
diablol
Posté le 18-06-2017 à 18:28:44  profilanswer
 

Je@nb a écrit :

tu as bien mis que l'utilisateur soit logué ou pas ? (ça fait lgt que j'en ai pas fait)


Ah oui c'est bon, il n'apparait plus mais il ne marche plus... on ne peut pas tout avoir ^^
je suis entrain de chercher d'où ça peut venir, mais si tu as une idée...


Message édité par diablol le 18-06-2017 à 18:29:17
n°978082
diablol
Posté le 18-06-2017 à 19:04:14  profilanswer
 

Bon bah ça m'a saoulé, je suis passé par le dossier démarrage, ou j'y ai mis un cmd avec en contenu "powershell.exe -windowstyle hidden -file C:\...\démarerKodi.ps1" et ça ira... merci beaucoup pour ton aide e tout cas !
 
version finale :
 

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]8080;
  2. while($true)
  3. {
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     $client.Close();
  8.     $Listener.Stop();
  9.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  10.     {
  11.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  12.         Start-Sleep -s 10;
  13.     } else {
  14.         Write-Host "Kodi déjà lancé"
  15.     }
  16. }


Message édité par diablol le 18-06-2017 à 19:06:45
n°978083
diablol
Posté le 18-06-2017 à 19:17:45  profilanswer
 

Ah non il y a un soucis avec le script powershell, si Kodi est déjà lancé (via windows), il réessaye en boucle et empêche la connexion a l'app... il faut y ajouter une boucle d'attente que le process disparaisse si il est déjà lancé
 

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]8080;
  2. while($true)
  3. {
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     $client.Close();
  8.     $Listener.Stop();
  9.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  10.     {
  11.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  12.         Start-Sleep -s 10;
  13.     } else {
  14.         Write-Host "Kodi déjà lancé"
  15.         while((Get-Process -Name kodi -ErrorAction SilentlyContinue) -ne $null)
  16.         {
  17.             Start-Sleep -s 1;
  18.         }
  19.         Start-Sleep -s 10;
  20.     }
  21. }


 
j'ai essayé ça, j'ai mis une pause de 1s dans la boucle pour ne pas surcharger le proc, mais la connexion ne se fait toujours pas dans le 2eme cas... tu as une idée ?


Message édité par diablol le 18-06-2017 à 19:28:26
n°978085
Je@nb
Modérateur
Kindly give dime
Posté le 18-06-2017 à 19:31:26  profilanswer
 

ah ouais faut que ce soit vraiment le script qui gère kodi, pas qu'il soit déjà lancé. De toute façon il pourra pas écouter sur le port car déjà utilisé par kodi
Tu peux faire ça ouais au cas où

n°978086
diablol
Posté le 18-06-2017 à 19:33:24  profilanswer
 

Je@nb a écrit :

ah ouais faut que ce soit vraiment le script qui gère kodi, pas qu'il soit déjà lancé. De toute façon il pourra pas écouter sur le port car déjà utilisé par kodi
Tu peux faire ça ouais au cas où


J'ai pas compris...
J'ai édité mon dernier message, j'en e sais pas si tu as vu, ça ne marche pas... :(

n°978153
diablol
Posté le 19-06-2017 à 12:22:58  profilanswer
 

Ah je viens de comprendre, mais Kodi ne fait qu'écouter sur le port, tout comme le script, il n'y a que l'appli télécommande qui envoie des données sur le port 8080, tu crois que ça gène quand-même ?
Après quelques tests (et avec des Write-Host pour savoir ce qu'il fait), j'ai l'impressions qu'une version ultra simpliste du genre

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]8080;
  2. while($true)
  3. {
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     $client.Close();
  8.     $Listener.Stop();
  9.     Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  10.     Start-Sleep -s 10;
  11. }


pourrait marcher, mais visiblement, si l'exe est déjà lancé, il n'applique pas le -wait a l'exe déjà en cours et il continue a boucler donc ça empêche la communication...
 
Pour la version que j'ai essayé de modifier

Code :
  1. $Listener = [System.Net.Sockets.TcpListener]8080;
  2. while($true)
  3. {
  4.     $Listener.Start();
  5.     $client = $Listener.AcceptTcpClient();
  6.     Write-Host "Connecté, lancement de Kodi";
  7.     $client.Close();
  8.     $Listener.Stop();
  9.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  10.     {
  11.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  12.         Start-Sleep -s 10;
  13.     } else {
  14.         Write-Host "Kodi déjà lancé"
  15.         while((Get-Process -Name kodi -ErrorAction SilentlyContinue) -ne $null)
  16.         {
  17.             Start-Sleep -s 1;
  18.         }
  19.         Start-Sleep -s 10;
  20.     }
  21. }


la boucle "Start-Sleep -s 1;" marche mais j'ai l'impression qu'il continue a écouter, et du coup ça interfère aussi avec la télécommande...
 
le -wait ça marche nickel, mais je ne vois pas comment l'implanter dans la 2de partie... une idée ?


Message édité par diablol le 19-06-2017 à 17:23:00
n°978224
Je@nb
Modérateur
Kindly give dime
Posté le 19-06-2017 à 19:03:03  profilanswer
 

Essaie :

Code :
  1. while((Get-Process -Name kodi -ErrorAction SilentlyContinue) -ne $null)
  2. {
  3.     Start-Sleep -s 10;
  4. }
  5. $Listener = [System.Net.Sockets.TcpListener]8080;
  6. while($true)
  7. {
  8.     $Listener.Start();
  9.     $client = $Listener.AcceptTcpClient();
  10.     Write-Host "Connecté, lancement de Kodi";
  11.     $client.Close();
  12.     $Listener.Stop();
  13.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  14.     {
  15.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  16.         Start-Sleep -s 10;
  17.     } else {
  18.         Write-Host "Kodi déjà lancé"
  19.        
  20.         Start-Sleep -s 10;
  21.     }
  22. }

n°978254
diablol
Posté le 19-06-2017 à 21:39:48  profilanswer
 

Je@nb a écrit :

Essaie :

Code :
  1. while((Get-Process -Name kodi -ErrorAction SilentlyContinue) -ne $null)
  2. {
  3.     Start-Sleep -s 10;
  4. }
  5. $Listener = [System.Net.Sockets.TcpListener]8080;
  6. while($true)
  7. {
  8.     $Listener.Start();
  9.     $client = $Listener.AcceptTcpClient();
  10.     Write-Host "Connecté, lancement de Kodi";
  11.     $client.Close();
  12.     $Listener.Stop();
  13.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  14.     {
  15.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  16.         Start-Sleep -s 10;
  17.     } else {
  18.         Write-Host "Kodi déjà lancé"
  19.        
  20.         Start-Sleep -s 10;
  21.     }
  22. }



 
non ça ne marche pas, et je ne comprends pas trop ce que tu as voulu faire, la première boucle ne se lance qu'une fois (au démarrage) et ensuite le PS reste bloqué dans la deuxième quoi qu'il arrive donc je ne vois pas ce que ça change
 
EDIT : Je pense que tu voulais faire un truc du genre :

Code :
  1. while($true)
  2. {
  3.     while((Get-Process -Name kodi -ErrorAction SilentlyContinue) -ne $null)
  4.     {
  5.         Start-Sleep -s 10;
  6.     }
  7.     $Listener = [System.Net.Sockets.TcpListener]8080;
  8.     $Listener.Start();
  9.     $client = $Listener.AcceptTcpClient();
  10.     Write-Host "Connecté, lancement de Kodi";
  11.     $client.Close();
  12.     $Listener.Stop();
  13.     If ((Get-Process -Name kodi -ErrorAction SilentlyContinue) -eq $null)
  14.     {
  15.         Start-Process -FilePath "C:\Program Files (x86)\Kodi\kodi.exe" -Wait
  16.         Start-Sleep -s 10;
  17.     } else {
  18.         Write-Host "Kodi déjà lancé"
  19.     }
  20. }


mais ça ne marche pas non plus bizarrement, quand kodi est lancé manuellement et que je lance mon appli, il reste bien bloqué dans la 1ere boucle mais continue de bloquer le port


Message édité par diablol le 21-06-2017 à 13:19:10
n°978486
diablol
Posté le 21-06-2017 à 13:26:28  profilanswer
 

j'ai essayé 2 ou 3 trucs mais je n'y arrives pas... j'ai l'impression qu'il n'y a que le -wait qui arrête l'écoute du port, mais je ne sais pas comment l'implémenter dans le cas ou kodi est déjà lancé...

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Réseaux grand public / SoHo
  Réseaux

  réagir a une connexion

 

Sujets relatifs
Connexion de sites éloignésConnexion d'une caméra
Lenteur de connexion sous VPN d'OperaConnexion réseau
Connexion http ok, KO sur FTP, torrent, VM Ware etc.Aide pour configuration agrégation connexion D-Link DWR-953 [cloturer]
[SFR] Suspicion d'attaque sur ma connexionProblème pour distribuer sa connexion internet avec le réseau DTI dome
impossible de ce connecter à internet mais connexion okMicro-coupure connexion en cité U
Plus de sujets relatifs à : réagir a une connexion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR