我有一个使用TCP进行通信的客户端和服务器。我想将数据从客户端传输到服务器。
客户端:
import socket
V=''
for i in range(1,400)
V=V+"%s %s %s" %s (i,i,i)
s = socket.socket(socket.AF_INT,socket.SOCK_STREAM)
s.connect((IP,PORT))
s.send(V)
s.close
和服务器:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)
while 1:
connection, addr = s.accept()
V_recived = connection.recv(8192)
当我运行这两个脚本时,我看到客户端计算机上的V大小为4485字节,而在服务器计算机上,V_received的大小在不同的运行之间发生变化:大部分时间是1481字节,有些时间是是4485或更少。 根据我的理解,TCP协议的使用应该保证我的所有数据都会被转移,因此我不明白我做错了什么......
有什么想法吗?