# coding: utf-8
from socket import*
import random
import time
HOST = '0.0.0.0'
PORT = 9007
# 建立socket对象
client = socket(AF_INET, SOCK_STREAM)
# AF_INET表示将使用标准的ipv4地址或主机名
# SOCK_STREAM说明这是一个TCP客户端
client.connect((HOST, PORT)) # 连接
data = client.recv(1024) # 接收数据
time.sleep(4)
for i in xrange(100):
data = client.recv(1024)
int_N = data.find("N=") + 2
int_C = data.find("C=") + 2
N = data[int_N]
C = data[int_C]
while data[int_N + 1] != ' ':
N = N + data[int_N + 1]
int_N = int_N + 1
while data[int_C + 1] >= '0'and data[int_C + 1] <= '9':
C = C + data[int_C + 1]
int_C = int_C + 1
n = int(N)
c = int(C)
print "get N=", n, "C=", c
left = 0
right = n - 1
mid = (left + right) / 2
for i in range(c):
# for n in range(left, mid + 1):
# token[n] = str(n)
token = [str(n) for n in xrange(left, mid + 1)]
token = " ".join(token)
client.send(token + "\n")
data = client.recv(5)
weights = data[0]
pos = 1
while data[pos] <= '9'and data[pos] >= '0':
weights = weights + data[pos]
pos += 1
weight = int(weights)
if weight == (mid - left + 1) * 10:
left = mid + 1
else:
right = mid
mid = (left + right) / 2
client.send(str(left) + "\n")
ans = client.recv(1024)
print "ans: ", ans
data = client.recv(1024)
print data
client.close()
print 'received', repr(data)
第一次写Python脚本,虽然好多不会是照抄的,还是记录一下,方便以后查找
多了不说,可以参考这篇文章
http://blog.csdn.net/pwd_3/article/details/51056996