まずはselectなしバージョン。
#!/usr/bin/python
import socket
import time
sock = socket.socket()
sock.bind(('127.0.0.1', 20000))
sock.listen(1)
conn, address = sock.accept()
print 'got connection @', address
while True:
buf = conn.recv(40)
conn.send(buf)
time.sleep(1)
selectありバージョン。リストsocksのアイテムがどんどん増えるがそういうものです。
#!/usr/bin/python
import socket
import select
msock = socket.socket()
msock.bind(('127.0.0.1', 20000))
msock.listen(1)
socks = [msock]
while True:
ready, o, e = select.select(socks, [], [])
for sock in ready:
if sock == msock:
conn, address = sock.accept()
print 'got connection from', address
socks.append(conn)
else:
buf = sock.recv(40)
sock.send(buf)
0 件のコメント:
コメントを投稿