0
나는 여러 클라이언트/이웃을 연결하는 UDP 프로그램을 만들고 있습니다. 모든 사용자가 동일한 프로그램을 사용하는 서버가 없습니다. localhost로 테스트하려고하고 있으므로 모든 IP와 이웃 포트가 의도 한대로 작동하는 것으로 간주합니다. 127.0.0.1을 모두 IP로 사용하고 다른 포트에 연결. 그럼 내 질문은 내가 while 루프 전에 보내는 시작 데이터를 수신하지만 아무 것도 보낼 수 없다는 것입니다. sys.stdin에서 뭔가 잘못하고있는 것 같습니다.선택으로 파이썬 UDP 프로그램 다중 연결
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST, PORT))
going = True
input = [s]
while going:
i,o,e = select.select(input,[],[],)
try :
for x in i:
if x == sys.stdin:
data = sys.stdin.read()
for i in neighbors:
addr = (i[1][0], int(i[1][1]))
s.sendto(data, addr)
else:
msg, addr = s.recvfrom(100)
print msg
except socket.error, msg:
print 'Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit()
s.close()
네가 맞을 수도 있습니다. for 및 if 절을 대신 어떻게 수행합니까? – geolykos
여전히 작동하지 않았습니다. 소켓을 목록에 추가하는 것만 둡니다. 내 if 절에 문제가 있습니다. – geolykos