0

所以我试图用python套接字制作一个小聊天服务器,但我收到了这个错误

File "chatserver.py", line 40
                                                                      ^
SyntaxError: unexpected EOF while parsing

我检查了所有括号等,但不知道这里有什么问题是代码

from socket import *
import logging
import Colorer

CONNECTED = []

HOST = ''
PORT = 9555
s = socket(AF_INET, SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(2)

def send_message(sock, message):
    for socket in CONNECTED:
        if socket != s and socket != sock:
            try:
                socket.send(message)
            except:
                socket.close()
                CONNECTED.remove(socket)

print ("Server Started")

   while 1: 

    connection, addr = s.accept()

    if connection:
        CONNECTED.append(connection)
        print ("Connection from" % addr)

    else:
        for sock in CONNECTED:
            try:
                message = sock.recv(1024)

                if message:
                    send_message(sock, str(sock.getpeername() + '<< ' + message))
                    print (str(sock.getpeername()) + ' ' + message)

如果有人可以帮助我解决这个问题,将不胜感激

4

2 回答 2

3

您有多个语法错误。最明显的是混乱的缩进(在您的实际代码中可能有所不同),但您也有一个try没有任何exceptor的块finally。你为什么有这个?你忘了写一个finally块吗?

于 2013-08-23T06:41:44.193 回答
1

python 2.7 给出了一个更有用的错误:

IndentationError: unexpected unindent

而 python 3.3 只是说

SyntaxError: unexpected EOF while parsing

因此,它是except/finally/else尝试后的缺失。

于 2013-08-23T06:58:01.867 回答