Coder Social home page Coder Social logo

Comments (8)

vrqq avatar vrqq commented on September 3, 2024 1

build cinatra_example and run this code with python 3:

import socket
import time

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8080))
print('*Connected')

data1 = b'POST /upload_multipart HTTP/1.1\r\n' \
b'Host: 127.0.0.1\r\n' \
b'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0\r\n' \
b'Accept: */*\r\n' \
b'Accept-Language: en-US,en;q=0.5\r\n' \
b'Accept-Encoding: gzip, deflate\r\n' \
b'Content-Type: multipart/form-data; boundary=---------------------------191691572411478\r\n' \
b'Content-Length: 925\r\n' \
b'Connection: keep-alive\r\n' \
b'Pragma: no-cache\r\n' \
b'Cache-Control: no-cache\r\n' \
b'\r\n' \
b'-----------------------------191691572411478\r\n' \
b'Content-Disposition: form-data; name="na'

data2 = b'me"\r\n' \
b'\r\n' \
b'plaintext_document_withlongname.txt\r\n' \
b'-----------------------------191691572411478\r\n' \
b'Content-Disposition: form-data; name="type"\r\n' \
b'\r\n' \
b'text/plain\r\n' \
b'-----------------------------191691572411478\r\n' \
b'Content-Disposition: form-data; name="size"\r\n' \
b'\r\n' \
b'259\r\n' \
b'-----------------------------191691572411478\r\n' \
b'Content-Disposition: form-data; name="lastModifiedDate"\r\n' \
b'\r\n' \
b'undefined\r\n' \
b'-----------------------------191691572411478\r\n' \
b'Content-Disposition: form-data; name="file"; filename="plaintext_docu'

data3 = b'ment_withlongname.txt"\r\n' \
b'Content-Type: text/plain\r\n' \
b'\r\n' \
b'The 2011 European Women Basketball Championship, commonly called EuroBasket Women 2011, was the 33rd regional championship held by FIBA Europe. The competition was held in Poland from 2011. This was the 4th time that the EuroBasket Women was hosted by Poland.\r\n' \
b'-----------------------------191691572411478--\r\n'

print (data1 + data2 + data3)

s.send(data1)
print('*SENT -A')
time.sleep(1)
s.send(data2)
print('*SENT -B')
time.sleep(1)
s.send(data3)
print('*SENT -C')
time.sleep(1)

s.close()
print('*Close')

from cinatra.

qicosmos avatar qicosmos commented on September 3, 2024

谢谢你提交issue,我会关注这个问题。

from cinatra.

vrqq avatar vrqq commented on September 3, 2024

可以在feed()函数第一句输出buffer地址来确认这个问题,可以发现对于单次post请求,确实会有概率多次触发feed()函数。

from cinatra.

qicosmos avatar qicosmos commented on September 3, 2024

用postman怎么做这个测试的?

from cinatra.

vrqq avatar vrqq commented on September 3, 2024

sorry我没有用postman,就在用firefox不断上传 27,046Bytes的图

from cinatra.

vrqq avatar vrqq commented on September 3, 2024

测试我觉得可以模拟网络丢包试下,也许可以看到分片了。。
还有可以用超长文件名,构建一个加长header。。

server端我是在feed()输出下第一个包的大小,如果第一个包差不多能把header分开,就在断点停一下。
(我更新了第一条,又加了一个bug)

from cinatra.

vrqq avatar vrqq commented on September 3, 2024

Hello, I submit a PR, could you have interesting to merge it after testing?...
(It also easy me to use this project)

from cinatra.

qicosmos avatar qicosmos commented on September 3, 2024

你能准备一个测试的页面或者程序发出来吗,我想先用你提供的测试程序看看问题,确定问题在哪儿,然后再看pr

from cinatra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.