파이썬 프로그램 (2.7)에서 스레드를 만들려고 시도하지만 시작될 때가 아니라 즉시 만들어지기 시작합니다.) 속성이 호출됩니다. 도움이 될 것입니다. 내 코드는 무질서/투박한 것 같으면Python 스레드 실행시 Run() 호출시 실행되지 않음
import sys
import socket
import threading
global connections
connections = []
def srcv(s, conn, data):
while True:
print "Recieving"
#Recieve Strings From Each Connection
for i, n in enumerate(connections):
data.append([connections[1], i.recv(4096)])
#Send String To Each Connection
print "Sending"
for i, n in enumerate(connections):
i.send("{0}: {1}".format(data[n][0], data[n][1]))
def listn(s, conn, data):
s.listen(10)
print "Listening For Connection"
while True:
obj, addr = s.accept()
connections.append([obj, addr])
def start_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
conn = []
data = []
s.bind(("localhost", 12345))
print "Creating Listening Thread"
listen = threading.Thread(target=listn(s,conn,data))
print "Preparing Listening Thread"
listen.start()
print "Starting Listening Thread"
listen.run()
print "Creating Send/Receive Thread"
sandr = threading.Thread(target=srcv(s, conn, data))
print "Preparing Send/Receive Thread"
sandr.start()
print "Connections Now Acceptable"
sandr.run()
if __name__ == '__main__':
sys.exit(start_server())
내가 일반적으로 프로그래밍 다소 새로운 오전, 알려 주시기 바랍니다 :
은 여기 내 (서버) 코드입니다.
편집 :
I가 발생하는 또 다른 문제가 하나가 시작될 때, 다른 하나는 될 수 없기 때문에 내가 스레드의 모두를 실행할 수 있다는 것입니다. 왜 그런가요? 어떻게 고칠 수 있습니까?
listen.start()
전에 함수가 호출되지 않도록 당신은
args=
에 인수를 넣어 사용할 필요가
코디를 게시하고 싶을 수 있습니다. – amitnair92
@ amitnair92 저기, 미안. –