Python Socket Programmierung Error?
#Server
import socket
ip_input = input("Gib deine IP an: ")
ip_input = str(ip_input)
IP_SERVER = ip_input
DISCONNECT_MESSAGE = "!DISCONNECT"
def start():
  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server.bind( (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 == DISCONNECT_MESSAGE:
      server.close()
      conn.close()
if __name__ == "__main__":
  start()
#Client
import socket
def start():
  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server.connect( ("192.168.1.100", 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}")
if __name__ == "__main__":
  start()
#Error

Gib deine IP an: 192.168.1.100

Server gestartet

Client with IP <socket.socket fd=372, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.1.100', 5050), raddr=('192.168.1.100', 60324)> connected

Traceback (most recent call last):

 File "c:\Users\User\OneDrive\Python\Server_2.py", line 26, in <module>

  start()

 File "c:\Users\User\OneDrive\Python\Server_2.py", line 17, in start

  msg = server.recv(1024)

OSError: [WinError 10057] Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde

Computer, Netzwerk, programmieren, Informatik, Python, Python 3
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 Python