Python – die besten Beiträge

Python Socket geht nicht?

Moin,

mein Client Code stürzt immer ab.

# Server Code
import socket


class txt_chat:
    def __init__(self):
        self.IP_SERVER = socket.gethostbyname(socket.gethostname())
        self.DISCONNECT_MESSAGE = "!DISCONNECT"


    def start(self):
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server.bind( (self.IP_SERVER, 5050) )
        print("Server gestartet")
        server.listen()
        conn, addr = server.accept()
        print(f"Client with IP {conn} connected")


        while True:
            msg = server.recv(1024)
            msg.decode("utf-8")
            print(f"Message: {msg}")


            if msg == self.DISCONNECT_MESSAGE:
                server.close()
                conn.close()


txt = txt_chat()
txt.start()

# Client Code (Der nicht funktioniert)

import socket


class txt_chat:
    def start():
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server.connect( ("192.168.1.14", 5050) )


        while True:
            msg = str(input("Your Message: "))
            msg = msg.encode()
            server.send(msg)


            answer = server.recv(1024)
            answer = answer.decode("utf-8")
            print(f"Antwort: {answer}")


txt = txt_chat()
txt.start()

#Error
Traceback (most recent call last):
  File "C:\Users\User\OneDrive\Python\client2.py", line 18, in <module>
    txt.start()
TypeError: start() takes 0 positional arguments but 1 was given
Computer, programmieren, Informatik, Python

Wie sende ich Variablen von JavaScript nach Flask via jQuery?

Hallo,

ich bin in JavaScript/jQuery und auch Python/Flask noch ein ziemlicher Anfänger. Ich versuche gerade, einfach nur ein JSON-Objekt aus JavaScript in einem HTML-Template mit Flask anzuzeigen.

Hier mein Code:

Flask:

from flask import Flask,request, render_template

app = Flask(__name__)

@app.route("/")
def rofl():
  return render_template("test.html")

@app.route("/test", methods=['POST'])
def test():
  Namensliste = request.get_json(True)
  print(Namensliste)
  return render_template("rofl.html", Namensliste=Namensliste)

if __name__ == '__main__':
  app.run(port=5200)

test.html:

<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <form action="#" method="post">
    <button type="button" onclick="JSONTest()"> Send UserInfo</button>
  </form>
</body>

rofl.html:

<head>
  <meta charset="UTF-8">
  <title>Titel</title>
</head>
<body>
  NamensListe: {{Namensliste}}
</body>

JavaScript-Datei:

var myJason = {
  "name1" : "Jens",
  "name2" : "Josef",
  "name3" : "Johannes"
}

function JSONTest() {
  var MyJason= JSON.stringify(myJason);
  console.log(MyJason)
  $.ajax({
    type: 'POST',
    url: '/test',
    data: MyJason,
    success: function(data) {
      console.log(data, "Rückmeldung1");
  }});
}

Wie mein Code eigentlich funktionieren soll ist: Ich rufe die Route "/" auf, drücke auf den Button: "JSONTest()" und meine Funktion sendet via jQuery mein JSON-Objekt an "/test". Dort wird das Objekt in Namensliste gespeichert und rofl.html mit der Namensliste darin aufgerufen.

Ich weiß, dass hier wahrscheinlich viele Grundlagenfehler drin sind, aber ich habe wirklich ewig lang gegooglet und finde einfach nicht, wie man es richtig macht.

Danke schon einmal für jede Idee.

Computer, Technik, HTML, programmieren, JavaScript, Informatik, JQuery, Python, Flask

Meistgelesene Beiträge zum Thema Python