【发布时间】:2016-10-12 11:24:58
【问题描述】:
我正在尝试从 python 中的 TCP 服务器接收数据。我尝试在服务器上打开一个文件,并在读取其内容后,尝试将其发送到 TCP 客户端。当我尝试首先在服务器端打印数据时,从文件中正确读取了数据,但在客户端没有收到任何内容。 PS。我是网络编程的初学者。
服务器.py
import socket
import os
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("", 5000))
server_socket.listen(5)
client_socket, address = server_socket.accept()
print ("Conencted to - ",address,"\n")
data = client_socket.recv(1024).decode()
print ("Filename : ",data)
fp = open(data,'r')
string = fp.read()
fp.close()
print(string)
size = os.path.getsize(data)
size = str(size)
client_socket.send(size.encode())
client_socket.send(string.encode())
client_socket.close()
客户端.py
import socket,os
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("", 5000))
size = 1024
print ("Your filename : \n")
string = input()
client_socket.send(string.encode())
size = client_socket.recv(1024).decode()
print ("The file size is - ",size[0:2]," bytes")
size = int(size[0:2])
string = client_socket.recv(size).decode()
print ("\nFile contains : ")
print (string)
client_socket.close();
【问题讨论】:
-
您对运行客户端有何观察?
-
这是我在客户端得到的:您的文件名:data.txt 文件大小为 - 25 字节文件包含: