12345678910111213141516171819202122232425262728293031323334353637383940 |
- #include "RestfulFunc.h"
- #include<sys/socket.h>
- #include<sys/types.h>
- #include<netinet/in.h>
- #include<netinet/ip_icmp.h>
- #include<arpa/inet.h>
- #include<unistd.h>
- #include<sys/time.h>
- #include <string.h>
- int SocketConnectTest(const std::string& addrIP, int nPort, std::string& out_msg)
- {
- int sockfd = socket(AF_INET, SOCK_STREAM, 0);
- if (sockfd < 0) {
- out_msg = "create socket failed:";
- out_msg += strerror(errno);
- return -1;
- }
- struct sockaddr_in serveraddr;
- bzero(&serveraddr, sizeof(serveraddr));
- serveraddr.sin_family = AF_INET;
- serveraddr.sin_port = htons(nPort);
- if (inet_pton(AF_INET, addrIP.c_str(), &serveraddr.sin_addr) < 0) {
- close(sockfd);
- out_msg = "inet_pton failed:";
- out_msg += strerror(errno);
- return -2;
- }
- if (0 > connect(sockfd, (struct sockaddr*)&serveraddr, sizeof(serveraddr))) {
- close(sockfd);
- out_msg = "connect failed:";
- out_msg += strerror(errno);
- return -3;
- }
- close(sockfd);
- return 0;
- }
|