获得随机EOF错误

时间:2013-08-23 06:34:15

标签: python sockets syntax-error eof

所以我试图用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)

如果有人能帮助我解决这个问题,那将非常感激

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

python 2.7提供了一个更有用的错误:

IndentationError: unexpected unindent

而python 3.3只是说

SyntaxError: unexpected EOF while parsing

因此,尝试后缺少except/finally/else