Ich spiele in letzter Zeit mit Python herum und versuche zu lernen, wie man einen Python-Server mithilfe von TCP-Verbindungen baut.Python - Zählzeiten, die ein Server vom Client erhält?
Ich habe diesen Code, der einen Server läuft ...
import socket
from threading import *
import datetime
import time
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "localhost"
port = 8000
print (host)
print (port)
serversocket.bind((host, port))
class client(Thread):
def __init__(self, socket, address):
Thread.__init__(self)
self.sock = socket
self.addr = address
self.start()
def run(self):
while 1:
st = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
#cName =
print(self.sock.recv(1024).decode()+' sent @ '+ st + ':' , self.sock.recv(1024).decode())
self.sock.send(b'Processing!')
serversocket.listen(5)
print ('server started and listening')
while 1:
clientsocket, address = serversocket.accept()
client(clientsocket, address)
Und zwei davon client.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host ="localhost"
port =8000
cName = 'client 2' # or client 1
s.connect((host,port))
def ts(str):
s.sendall(cName.encode())
s.send('e'.encode())
data = ''
data = s.recv(1024).decode()
print (data)
while 2:
r = input('enter')
ts(s)
s.close()
Ich möchte wissen, wie der Server zu ermöglichen und Spur zu halten zu zählen wie oft es eine Nachricht von Client 1 und Client 2 erhält.
Zum Beispiel, wenn Server beginnt mit Count von 0 (zB count = 0)
. Und jedes Mal Client 1 oder Client 2 se Wenn Sie eine Nachricht zurücksenden oder in diesem Fall Treffer eingeben, wird die Anzahl erhöht (count += 1
). Wenn ich einen print(count)
anrufe, sollte der Ausgang 1
sein.
Danke?