python while true wierd错误

python while true wierd错误,python,networking,Python,Networking,我现在正在学习python一个月,因为我想为我的GameMakerStudio 2游戏编写一个服务器,该游戏不支持线程,我需要一个用另一种语言编写的服务器来实现这一点。 无论如何。。。 -教程url 我一直在学习本教程,不幸的是,我遇到了一个错误: /home/borut/PycharmProjects/Server/venv/bin/python/home/borut/PycharmProjects/Server/Server.py 文件“/home/borut/PycharmProjects

我现在正在学习python一个月,因为我想为我的GameMakerStudio 2游戏编写一个服务器,该游戏不支持线程,我需要一个用另一种语言编写的服务器来实现这一点。 无论如何。。。 -教程url

我一直在学习本教程,不幸的是,我遇到了一个错误:

/home/borut/PycharmProjects/Server/venv/bin/python/home/borut/PycharmProjects/Server/Server.py 文件“/home/borut/PycharmProjects/Server/Server.py”,第19行 尽管如此: ^ 缩进错误:意外缩进

进程已完成,退出代码为1

我的代码如下所示:

import socket
import sys
from _thread import *

host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
    s.bind((host, port))
except socket.error as e:
    print(str(e))

s.listen(5)
print ('waiting for a connection')
def threaded_client(conn):
    conn.send(str.encode('Welcome, type your info\n'))

        while True:
                data = conn.recv(2048)
                reply = 'Server output: ' +data.decode('utf-8')
                if not data:
                    break;
                 conn.sendall(str.encode(reply))
                conn.close()

while True:
                conn, addr = s.accept()
                print('connected to: '+addr[0]+':'+str(addr[1]))

                start_new_thread(threaded_client, (conn,))

谢谢你们的回答和提示,伙计们

问题在于缩进不正确。我指的是缩进

逻辑字符串开头的前导空格(空格和制表符) line用于计算线的缩进级别,在 turn用于确定语句的分组

这有助于您了解缩进的重要性

要解决此问题,请使用IDE格式化代码。你可以用这个代码代替,我为你修正了缩进

import socket
import sys
from _thread import *

host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
    s.bind((host, port))
except socket.error as e:
    print(str(e))

s.listen(5)
print ('waiting for a connection')
def threaded_client(conn):
    conn.send(str.encode('Welcome, type your info\n'))

    while True:
        data = conn.recv(2048)
        reply = 'Server output: ' +data.decode('utf-8')
        if not data:
             break
        conn.sendall(str.encode(reply))
        conn.close()

while True:
        conn, addr = s.accept()
        print('connected to: '+addr[0]+':'+str(addr[1]))

        start_new_thread(threaded_client, (conn,))

缩进是Python最重要的思想,因为缩进是通知代码块开始/结束位置的方式

你的第一次

while True:

前面有一个选项卡

缩进显示为随机缩进。这将激怒巨蟒之神在这方面要求统一。