#include "netHelper.h" int sendMessage(std::string& ip, int port, std::string& msg, size_t size) { int sockfd = socket(AF_INET, SOCK_DGRAM, 0), ret; if(sockfd < 0) { perror("netHelper.cpp:sendMessage(char*, int, char*, size_t):1"); return -1; } struct sockaddr_in dAddr; socklen_t addrLen = sizeof(sockaddr_in); dAddr.sin_family = AF_INET; dAddr.sin_port = htons(port); inet_aton(ip.c_str(), &dAddr.sin_addr); memset(&dAddr.sin_zero, 0, 0); if((ret=sendto(sockfd, msg.c_str(), size, 0, (sockaddr*) &dAddr, addrLen)) < 0) { perror("netHelper.cpp:sendMessage(char*, int, char*, size_t):2"); return -2; } errno = 0; return ret; } int sendMessage(SessionInfo& session, std::string& msg, size_t size) { int sockfd = socket(AF_INET, SOCK_DGRAM, 0), ret; if(sockfd < 0) { perror("netHelper.cpp:sendMessage(char*, int, char*, size_t):1"); return -1; } struct sockaddr_in dAddr; socklen_t addrLen = sizeof(sockaddr_in); dAddr.sin_family = AF_INET; // http://www.fredosaurus.com/notes-cpp/algorithms/string2int.html dAddr.sin_port = htons(/*session.getPort()*/5060); inet_aton(session.getIP().c_str(), &dAddr.sin_addr); memset(&dAddr.sin_zero, 0, 0); if((ret=sendto(sockfd, msg.c_str(), size, 0, (sockaddr*) &dAddr, addrLen)) < 0) { perror("netHelper.cpp:sendMessage(char*, int, char*, size_t):2"); return -2; } errno = 0; return ret; } int sendMessage(char* ip, int port, char *msg, size_t size) { int sockfd = socket(AF_INET, SOCK_DGRAM, 0), ret; if(sockfd < 0) { perror("netHelper.cpp:sendMessage(char*, int, char*, size_t):1"); return -1; } struct sockaddr_in dAddr; socklen_t addrLen = sizeof(sockaddr_in); dAddr.sin_family = AF_INET; dAddr.sin_port = htons(port); inet_aton(ip, &dAddr.sin_addr); memset(&dAddr.sin_zero, 0, 0); if((ret=sendto(sockfd, msg, size, 0, (sockaddr*) &dAddr, addrLen)) < 0) { perror("netHelper.cpp:sendMessage(char*, int, char*, size_t):2"); return -2; } errno = 0; return ret; }