1

I used socket module for transferring some data from client to server. I didn't have much luck with looking for different TCP variants to try (CUBIC, Reno, Vegas, Fast TCP). Can I modify socket options or install some other modules so I can try them? I want to know if my data can be sent and received even a bit faster.

I also found some UDT and Tsunami projects in C++, so I planned on learning to wrap them into python, but I didn't have much success there, either. UDT wrapper for python is compatible with python2 and I couldn't even install the c++ source (compatible with older linux os and architectures). But that's probably for another question.

bezdoman
  • 11
  • 3
  • I don't know about any of the projects you mentioned (CUBIC, Reno, Vegas, Fast TCP), but I guess if they are python packages, then yeah, you can try them? If you have some working C++ library, you can create python bindings yourself, there are many topics about it. So, what is your exact question here? – pptaszni Nov 09 '22 at 13:27
  • @pptaszni I just didn't find any modules for the variants on TCP. The ones I mentioned are all TCP variants using different congestion control algorithms. So some of them probably can work better in different occasions. I just asked if anyone know how to use socket module in python to get those different algorithms to work or if there are modules made for any of those variants (that exist, but I didn't find them). Hope my question is at least a bit clearer. – bezdoman Nov 09 '22 at 14:21
  • OK, all clear now, I was not familiar with the names of these algorithms. You can add "congestion control algorithm" directly to your question. I found [this topic](https://stackoverflow.com/questions/59265004/how-to-change-tcp-congestion-control-algorithm-using-setsockopt-call-from-c) about how to change this algorithm in C++. From [python docs](https://docs.python.org/3/library/socket.html) it looks that you can do something very similar. Look for "TCP_CONGESTION" option. – pptaszni Nov 09 '22 at 14:42
  • My suggestion is decide which kind of answer you want, and clarify question accordingly: do you want help invoking the alternate TCP algorithm as implemented in these specific libraries and testing from Python? Or do you want help identifying interesting parameters in TCP libraries already callable from Python? – BobHy Nov 09 '22 at 17:42
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. – Community Nov 09 '22 at 17:43

0 Answers0