所以我试图用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)
如果有人能帮助我解决这个问题,那将非常感激
答案 0 :(得分:3)
您有多种语法错误。最明显的是混乱的缩进(在您的实际代码中可能有所不同),但您还有一个try
块,没有任何except
或finally
。你为什么这么做?你忘记写一个finally
块?
答案 1 :(得分:1)
python 2.7提供了一个更有用的错误:
IndentationError: unexpected unindent
而python 3.3只是说
SyntaxError: unexpected EOF while parsing
因此,尝试后缺少except/finally/else
。