pingsend can ping a host. But when i try Ping a host like 192.168.100.2:8000 and it doesn't work.
Of course not, because '192.168.100.2:8000' is not a valid hostname, you must remove the ':8000' portion. This is because you can't ping a specific port to begin with, only a host. Pings use the ICMP protocol, which operates at layer 3 of the OSI Network model, whereas ports are used by the UDP and TCP/IP protocols, which operate at layer 4 instead. Ports don't exist at layer 3.
If you want to check if a server is running on port 8000, the only option is to actually try to connect to it.