#ifndef NETWORK_H #define NETWORK_H #include <string> #include <winsock2.h> #include <ws2tcpip.h> #include <stdio.h> #include <iostream> #include <string> #include "connection.h" using namespace std; /** * Class for Network communication */ class Nxt_network : public Connection{ public: /** * Constructor for Network connection */ Nxt_network(); ~Nxt_network(); /** * Send a byte string * @param *buffer [a pointer to a buffer that can hold the bytes to send] * @param num_bytes [the number of bytes to send] */ void send(unsigned char *buffer, unsigned int num_bytes); /** * Connect to the NXT using a network connection * @param port [specify the port that is to used for the network connection between the NXT and PC] * @param ip_add [specify the IP-address] * @param settings [used to retrive server settings] * @param password [set the password] * @see Server_settings_t */ void connect(unsigned int port, string ip_add, Server_settings &settings, string password=""); /** * Disconnect from the NXT */ void disconnect(); /** * Receive a byte string * @param *buffer [a pointer to a buffer that can hold the received bytes] * @param length [the number of bytes to receive] */ void receive(unsigned char *buffer, unsigned int length); /** * Flush the input and output buffer */ void flush(); /** * Get the connection type * @return NXT_NETWORK (see the CONNECTION_TYPE enumeration) */ Connection_type get_type(); //unsigned int get_port(); private: unsigned char *buffer; WSAData ws_data; WORD ws_ver; int ws_status; SOCKET my_sock; int test(sockaddr_in &temp); string error_to_string(int err); }; #endif