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
Panische Angst vor Referaten und Vorträgen (Schule) was tun?

Hey Allerseits,

Ich bin gerade 14 Jahre alt, lebe in Österreich und komme nach den Sommerferien, also in ca. einer Woche an eine neue Schule.

Ich komme von einer AHS, und ich fand die eigentlich ziemlich leicht, hatte nie 5er im Zeugnis, und sonst war mein Notendurchschnitt auch ziemlich OK (2.0 - 3.0). Das lag aber nur daran, dass ich faul bin. Ich hab NIE gelernt, nicht mal für Schularbeiten, hab aber teilweise trotzdem die höchstzahl erreicht. Hätte ich mich zusammengerissen, hätte ich ein hammer-zeugnis gehabt, aber das war mir zu blöd.

Das einzige was mich zittern ließ waren Referate und Vorträge, denn ich wurde immer soo nervös, das ich kurzatmig wurde, zu zittern begann etc. Das war und ist der Grund, warum ich die Schule fürchte. Es ist immer so schlimm.

Jetzt allerdings, komme ich auf eine BHS. Um präziser zu sein auf eine HTL (Höhere Technische Lehranstalt.) Ich weiß, dass das noch einmal härter für mich wird, nicht nur wegen der Schwierigkeit und dem Stress, aber wegen den Vorträgen. Ich bin mir sicher das ich ziemlich viele halten muss.

Weiß jemand, wie viele es ca. Im Semester sind? Gehe in den Zweig Informationstechnik, also keine reine Informatik sondern gemischt mit ein wenig Elektrotechnik und Maschinenbau.

Habt ihr auch ein paar Tipps für mich, um nicht so nervös zu werden? Ich hab schon alles mögliche versucht, aber es half nichts wirklich. Ich musste mich einfach durchkämpfen, aber besser wurde es trotzdem nicht, obwohl ich immer 100% vorbereitet bin.

Danke im Voraus an die Antwortgeber.

Medizin, Deutsch, Schule, Mathematik, Technik, Prüfung, Angst, Medikamente, Elektronik, Bildung, Vortrag, Präsentation, Wissenschaft, Referat, Psychologie, Abitur, Angstzustände, Arzt, Diplom, furcht, Gesundheit und Medizin, Informatik, Informationstechnik, Ingenieur, Maschinenbau, Matura, Neue Schule, Österreich, Panik, Panikattacken, Schularbeit, Vorträge, 5 Jahre, HTL, Panische Angst, Ausbildung und Studium
Python Socket Programmierung?

Moin Moin,

ich hab grad einen socket chat programmiert. soweit funktioniert auch alles aber ich bekomme immer diesen einen Error. Vielleicht hat wer von euch eine Idee was ich hier falsch gemacht habe.

Server Code:

import socket 
import threading


HEADER = 64
PORT = 5050
SERVER = socket.gethostbyname(socket.gethostname())
ADDR = (SERVER, PORT)
FORMAT = 'utf-8'
DISCONNECT_MESSAGE = "!DISCONNECT"


server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(ADDR)


def handle_client(conn, addr):
    print(f"[NEW CONNECTION] {addr} connected.")


    connected = True
    while connected:
        msg_length = conn.recv(HEADER).decode(FORMAT)
        if msg_length:
            msg_length = int(msg_length)
            msg = conn.recv(msg_length).decode(FORMAT)
            if msg == DISCONNECT_MESSAGE:
                connected = False


            print(f"[{addr}] {msg}")
            conn.send("Msg received".encode(FORMAT))


    conn.close()
        


def start():
    server.listen()
    print(f"[LISTENING] Server is listening on {SERVER}")
    while True:
        conn, addr = server.accept()
        thread = threading.Thread(target=handle_client, args=(conn, addr))
        thread.start()
        print(f"[ACTIVE CONNECTIONS] {threading.activeCount() - 1}")



print("[STARTING] server is starting...")
start()

# Und hier der Client Code:

import socket


HEADER = 64
PORT = 5050
FORMAT = "utf-8"
DISCONNECT_MESSAGE = "!DISCONNECT"
SERVER = "192.168.1.14"
ADRR = (SERVER, PORT)


client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ADRR)


def send(msg):
    message = msg.encode(FORMAT)
    msg_length = len(message)
    send_length = str(msg_length).encode(FORMAT)
    send_length += b' ' * (HEADER - len(send_length))
    client.send(send_length)
    client.send(message)
    print(client.recv(2048).decode(FORMAT))


while True:
    input = input("Deine Nachricht: ")
    send(input)

#Der Error:

Name Error: name "hallo" is not defined

Computer, Technik, Netzwerk, programmieren, Hacking, Informatik, Python, Technologie, Socket

Meistgelesene Beiträge zum Thema Informatik