tcping | An RTT measurement tool written in Python | Download Utils library
kandi X-RAY | tcping Summary
kandi X-RAY | tcping Summary
tcping: a simple RTT measurement tool written in Python. Copyright (C) 2009 oraccha
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Start tcping
- Start tcping daemon
- Calculate mean squared of a list of values .
tcping Key Features
tcping Examples and Code Snippets
Community Discussions
Trending Discussions on tcping
QUESTION
My setup:
- I am using an IP and port provided by portmap.io to allow me to perform port forwarding.
- I have OpenVPN installed (as required by portmap.io), and I run a ready-made config file when I want to operate my project.
- My main effort involves sending messages between a client and a server using sockets in Python.
- I have installed a software called tcping, which basically allows me to ping an IP:port over a tcp connection.
This figure basically sums it up:
Results I'm getting:
- When I try to "ping" said IP, the average RTT ends up being around 30ms consistently.
- I try to use the same IP to program sockets in Python, where I have a server script on my machine running, and a client script on any other machine but binding to this IP. I try sending a small message like "Hello" over the socket, and I am finding that the message is taking a significantly greater amount of time to travel across, and an inconsistent one for that matter. Sometimes it ends up taking 1 second, sometimes 400ms...
What is the reason for this discrepancy?
...ANSWER
Answered 2021-Apr-02 at 13:36What is the reason for this discrepancy?
tcpping
just measures the time needed to establish the TCP connection. The connection establishment is usually completely done in the OS kernel, so there is not even a switch to user space involved.
Even some small data exchange at the application is significantly more expensive. First, the initial TCP handshake must be done. Usually only once the TCP handshake is done the client starts sending the payload, which then needs to be delivered to the other side, put into the sockets read buffer, schedule the user space application to run, read the data from the buffer in the application and process, create and deliver the response to the peers OS kernel, let the kernel deliver the response to the local system and lots of stuff here too until the local app finally gets the response and ends the timing of how long this takes.
Given that the time for the last one is that much off from the pure RTT I would assume though that the server system has either low performance or high load or that the application is written badly.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install tcping
You can use tcping like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page