Ozone is right, connecting to the port only verifies there is a program that is listening and bound to the port and acepting incoming connections. If your envornment normally sees crashes of those services where they server fine unless they are not running at all this may be "enough" for you. else more active tests are needed and you either need to understand the protocols that you are testing or use off the shelf modules to test functionality such as
lwp for HTTP,
net::ftp for FTP etc. note that this type of testing usually requires actuall access to the service (user for ftp, access to a web page to download). You need to decide what level of testing makes you comfortable.
-Waswas