2013-08-23 54 views
0

,所以我试图与蟒蛇插座,但即时得到这个错误得到一个随机EOF错误

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) 

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

+0

'try:'应该跟'except:'和/或'finally:'在py3.x中的EOF可能意味着意外的缩进检查所有的缩进以及括号。祝你好运 :) –

回答

3

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

1

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

IndentationError: unexpected unindent 

而蟒蛇3.3说只是

SyntaxError: unexpected EOF while parsing 

因此它是在缺少尝试后except/finally/else