tcping | Check if a desired port is reachable via TCP

 by   mkirchner C Version: 2.0.0 License: MIT

kandi X-RAY | tcping Summary

kandi X-RAY | tcping Summary

tcping is a C library. tcping has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

This software may be freely distributed under the terms of the MIT license. See LICENSE file for details. As of 2016, the tcping homepage is: --=[ How to build. On LiNUX systems: make tcping.linux On OpenBSD: make tcping.openbsd On Solaris 7/8: make tcping.solaris On Solaris 2.6: make tcping.solaris26 On AIX: make tcping.aix. Return values to the shell are: -1 an error occured 0 port is open 1 port is closed 2 connection establishment timed out. Many thanks to Kai Hambrecht John Smith Vincent Loriot. Originally released in 2003. If you happen to find any bugs or you have improved my code, please be so kind to drop me a line. Thank you. Marc Kirchner .
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              tcping has a low active ecosystem.
              It has 30 star(s) with 15 fork(s). There are 3 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 0 open issues and 2 have been closed. On average issues are closed in 227 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of tcping is 2.0.0

            kandi-Quality Quality

              tcping has 0 bugs and 0 code smells.

            kandi-Security Security

              tcping has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              tcping code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              tcping is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              tcping releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of tcping
            Get all kandi verified functions for this library.

            tcping Key Features

            No Key Features are available at this moment for tcping.

            tcping Examples and Code Snippets

            No Code Snippets are available at this moment for tcping.

            Community Discussions

            QUESTION

            Why is there a discrepancy between python sockets and tcp ping for the same IP:port destination?
            Asked 2021-Apr-02 at 13:36

            My setup:

            1. I am using an IP and port provided by portmap.io to allow me to perform port forwarding.
            2. I have OpenVPN installed (as required by portmap.io), and I run a ready-made config file when I want to operate my project.
            3. My main effort involves sending messages between a client and a server using sockets in Python.
            4. 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:

            1. When I try to "ping" said IP, the average RTT ends up being around 30ms consistently.
            2. 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:36

            What 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.

            Source https://stackoverflow.com/questions/66917417

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install tcping

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/mkirchner/tcping.git

          • CLI

            gh repo clone mkirchner/tcping

          • sshUrl

            git@github.com:mkirchner/tcping.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link