当我尝试接收大量数据时,它会被切断,我必须按Enter键才能获得其余数据.起初我能够增加一点但它仍然不会收到所有这一切.正如您所看到的,我已经增加了conn.recv()上的缓冲区,但它仍然无法获取所有数据.它会在某个时刻切断它.我必须在raw_input上按Enter键才能接收剩余的数据.无论如何我可以一次获得所有数据吗?这是代码.
port = 7777
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('0.0.0.0', port))
sock.listen(1)
print ("Listening on port: "+str(port))
while 1:
conn, sock_addr = sock.accept()
print "accepted connection from", sock_addr
while 1:
command = raw_input('shell> ')
conn.send(command)
data = conn.recv(8000)
if not data: break
print data,
conn.close()
Run Code Online (Sandbox Code Playgroud) 我有一个这样的阵列([1,2,3,4,5,6],[1,2,3,4,5,6])
.我必须通过python中的STREAM/TCP套接字发送它.然后我必须在接收端收到相同的数组.
有一段代码:
class C():
a=1
def f(self):
print "f func"
a=C()
print a.a
a.f()
>>> 1
>>> f func
Run Code Online (Sandbox Code Playgroud)
当我试图得到a.__dict__
or时vars(a)
,它告诉我只是{}
。但
a.b=123
print a.__dict__
>>> {'b': 123}
Run Code Online (Sandbox Code Playgroud)
我不明白,为什么会这样。