【发布时间】:2013-11-25 03:01:51
【问题描述】:
我尝试发送 4 个字符的填充数字,但是当我发送时
# sender
number = str(2).zfill(4)
sending_socket.send(number)
# receiver
msg = receiving_socket.recv(4)
print msg
打印出来的味精是 11。
【问题讨论】:
我尝试发送 4 个字符的填充数字,但是当我发送时
# sender
number = str(2).zfill(4)
sending_socket.send(number)
# receiver
msg = receiving_socket.recv(4)
print msg
打印出来的味精是 11。
【问题讨论】:
你有一些你没有向我们展示的东西:
# sender
>>> from socket import *
>>> s=socket()
>>> s.connect(('localhost',8000))
>>> number=str(2).zfill(4)
>>> s.send(number)
# receiver
>>> from socket import *
>>> s=socket()
>>> s.bind(('',8000))
>>> s.listen(1)
>>> c,a=s.accept()
>>> c.recv(4)
'0002'
【讨论】:
send 和 recv 也需要检查它们的返回值,因为它们可能不会发送或接收请求的金额。您必须设计一个考虑到这一点的协议,例如在数据中发送消息的大小。