Stdin读取

时间:2017-04-23 17:29:25

标签: python multithreading compiler-errors client-server stdin

我正在制作一个python服务器以保持连接3个客户端。我已完成所有操作,现在,当我正在为服务器执行stdin命令时(如退出,请参阅(客户端)等),我意识到我对我有一个明显的问题:

这是结构:

import sys, os, traceback, optparse
import time, datetime
import random
import socket
import thread
import select

  while True:
        data,addr = dad_sock.recvfrom(UDP)
        if(data != ""):
            print "First_Data:",sys.stdin.readline()
            thread.start_new_thread(MAIN_son,(UDP,data,addr,number_sons))
            number_threads += 1
            print "Second_Data:",sys.stdin.readline()

MAIN_son的作用是创建一个新线程,寻找pkg recived并保持客户端连接到服务器。

这是我的问题:

  

数据:错误,出乎意料的异常   关闭文件的I / O操作   回溯(最近一次调用最后一次):

     

文件“srv.py”,第588行,in   启动()

     

文件“srv.py”,第136行,开头   main()的

     

文件“srv.py”,第481行,在main中   设置()

     

文件“srv.py”,第164行,在设置中   dad_wait(srv.UDP,number_sons)

     

文件“srv.py”,第172行,在dad_wait中   print“Data:”,sys.stdin.readline()

     

ValueError:关闭文件的I / O操作

第172行是我第一次从stdin()读取,但程序允许我这样做,所以我认为它在第二轮失败的时候

我需要说当调用MAIN_son线程时会开始打印来自客户端pakages的所有pkg信息。我不知道这些印刷品是不是原因。

如果有人需要有关代码的更多信息,我会刷新问题,谢谢

0 个答案:

没有答案