add open(string host, int port)
This commit is contained in:
parent
de1629c147
commit
1d2df7017d
2 changed files with 42 additions and 4 deletions
|
@ -31,7 +31,7 @@
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
int sock = 0;
|
int sock = 0;
|
||||||
const char* host = "127.0.0.1";
|
string host = "127.0.0.1";
|
||||||
#define PORT 6699
|
#define PORT 6699
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ int ComRobot::Open(string usart) {
|
||||||
serv_addr.sin_port = htons(PORT);
|
serv_addr.sin_port = htons(PORT);
|
||||||
|
|
||||||
// Convert IPv4 and IPv6 addresses from text to binary form
|
// Convert IPv4 and IPv6 addresses from text to binary form
|
||||||
if (inet_pton(AF_INET, host, &serv_addr.sin_addr) <= 0) {
|
if (inet_pton(AF_INET, host.c_str(), &serv_addr.sin_addr) <= 0) {
|
||||||
printf("\nInvalid address/ Address not supported \n");
|
printf("\nInvalid address/ Address not supported \n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -127,6 +127,36 @@ int ComRobot::Open(string usart) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ComRobot::Open(string shost, int nport) {
|
||||||
|
#ifdef __SIMULATION__
|
||||||
|
|
||||||
|
struct sockaddr_in serv_addr;
|
||||||
|
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
|
||||||
|
printf("\n Socket creation error \n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
struct timeval tv;
|
||||||
|
tv.tv_sec = 0;
|
||||||
|
tv.tv_usec = 200000;
|
||||||
|
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*) &tv, sizeof tv);
|
||||||
|
|
||||||
|
serv_addr.sin_family = AF_INET;
|
||||||
|
serv_addr.sin_port = htons(nport);
|
||||||
|
|
||||||
|
if (inet_pton(AF_INET, shost.c_str(), &serv_addr.sin_addr) <= 0) {
|
||||||
|
cout << "Invalid address/ Address not supported" << endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (connect(sock, (struct sockaddr *) &serv_addr, sizeof (serv_addr)) < 0) {
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
|
return -1
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close serial link
|
* Close serial link
|
||||||
* @return Success if above 0, failure if below 0
|
* @return Success if above 0, failure if below 0
|
||||||
|
|
|
@ -59,6 +59,14 @@ public:
|
||||||
*/
|
*/
|
||||||
int Open(string usart);
|
int Open(string usart);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open tcp client for the graphical simulator
|
||||||
|
* @param host Host address
|
||||||
|
* @param port Port number
|
||||||
|
* @return 1 if ok or -1
|
||||||
|
*/
|
||||||
|
int Open(string shost, int nport);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close serial link
|
* Close serial link
|
||||||
* @return Success if above 0, failure if below 0
|
* @return Success if above 0, failure if below 0
|
||||||
|
@ -89,9 +97,9 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual void Write_Post() {
|
virtual void Write_Post() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Message *SendCommand(Message* msg, MessageID answerID, int maxRetries);
|
Message *SendCommand(Message* msg, MessageID answerID, int maxRetries);
|
||||||
|
|
||||||
static Message *Ping() {
|
static Message *Ping() {
|
||||||
return new Message(MESSAGE_ROBOT_PING);
|
return new Message(MESSAGE_ROBOT_PING);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue