如何通过套接字一次发送每个csv行

时间:2018-11-05 03:41:31

标签: python python-2.7 sockets

我正在编写一个代码,将数据从客户端发送到服务器。我需要发送的数据来自csv文件,该文件大约有1,700行。目前,我将数据作为一个整体发送到一个较大的缓冲区中,但是我希望逐行发送它,并且也以相同的方式接收它。我不确定是否应该使用split()函数,或者是否有更好的方法来执行相同的操作。

注意:此问题基于Python socket to send rows of data

我有完全相同的问题。对于服务器部分给出的答案对我来说毫无意义。为了清楚起见,这里重复了这个答案。

#server.py
def read_line(sock):
    return "".join(iter(lambda:sock.recv(1),"\n"))

我需要查看如何将此答案添加到下面列出的服务器代码中。

服务器...

import socket
import ipdb

result = ""
HOST = 'LOCAL_IP'
PORT = 42050
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
print "Server running", HOST, PORT
s.listen(5)
conn, addr = s.accept()
print'Connected by', addr

while True:
    data = conn.recv(409600)
    print repr(data.split("' "))
    if not data:
        break

print "Done Receiving"
conn.close()

客户...

import socket

HOST = 'SERVER_IP'
PORT = 42050
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))


while True:
    for line in open('target.csv', 'rb'):
        s.send(line)

    break

print "Done Sending"
s.close()

谢谢您的帮助。

0 个答案:

没有答案