0

複数のクライアント/ネイバーを接続する UDP プログラムを作成しています。誰もが同じプログラムを使用しているサーバーはありません。ローカルホストでテストしようとしているので、ネイバーのすべての IP とポートが意図したとおりに機能することを考慮してください。すべての IP として 127.0.0.1 を使用し、異なるポートに接続します。私の質問は、while ループの前に送信した起動データを受信するのに送信できないのはなぜですか? 私はsys.stdinで何か間違っているようです。

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()
4

1 に答える 1