Tôi cần một giải pháp thay thế để diệt tập lệnh python khi đang ở trong một hàm chuỗi. Ý định của tôi là giết chết máy chủ khi khách hàng nhập một 0 ... Đây có phải là không làm việc vì các chủ đề đã không được chấm dứt? Đây là mã của tôi:Tại sao các phương thức sys.exit(), exit(), tăng SystemExit không hoạt động?
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
print 'Socket created'
try:
socket.bind((HOST, PORT))
except socket.error, message:
print 'Bind statement failed. ERROR: ' + str(message[0]) + ' Message: ' + message[1]
sys.exit()
print 'Socket Binding Successful'
socket.listen(10)
print 'Socket is currently listening'
def clientThread(connection):
while 1:
data = connect.recv(1024)
try:
quit = int(data)
except:
quit = 3
if quit == 0:
print 'Closing the connection and socket...'
connect.close()
socket.close()
sys.exit(); //Alternative needed here...
break
reply = 'Ok....' + data
if not data:
break
connect.sendall(reply)
while 1: #forever loop
connect, address = socket.accept()
print 'Just connected with ' + address[0] + ' : ' + str(address[1])
start_new_thread(clientThread, (connect,))
socket.close()
Tôi nhập os, nhưng khi cố gắng 'os._exit()' tôi nhận được lỗi: Traceback (cuộc gọi gần đây nhất): Tệp "server.py", dòng 35, trong clientThread os._exit(); TênError: tên toàn cầu 'os' không được xác định –
@CSGamer: Bạn đã thêm nhập ở đâu? Bạn có chắc bạn không có lỗi đánh máy không? Bởi vì không có lý do gì mà không nên làm việc. – abarnert
Đây là hàng nhập của tôi ở trên cùng: 'import os nhập sys từ nhập chuỗi *' –