Exemplo n.º 1
0
TCPServer *  bbCreateTCPServer( int port ){
	SOCKET s=::socket( AF_INET,SOCK_STREAM,0 );
	if( s!=INVALID_SOCKET ){
		sockaddr_in addr={AF_INET,htons(port)};
		if( !::bind( s,(sockaddr*)&addr,sizeof(addr) ) ){
			if( !::listen( s,SOMAXCONN ) ){
				TCPServer *p=d_new TCPServer( s );
				server_set.insert( p );
				return p;
			}
		}
		::closesocket(s);
	}
	return 0;
}
Exemplo n.º 2
0
int main(int argc,char* argv[]){
    int servering=0;
    if( argc<6){
      printf("USERAGE: local_addr local_port remote_addr remote_port servering(0|1)\n");
      return 1;
    }
    sprintf(icedemo.lipaddr,"%s",argv[1]);
    icedemo.lport=atoi(argv[2]);
    sprintf(icedemo.ripaddr,"%s",argv[3]);
    icedemo.rport=atoi(argv[4]);
    servering=atoi(argv[5]); 
    if (servering){
       TCPServer();
    }
    else{
     TCPClient();
    }
   return 0;
}
int main(int argc, char const *argv[])
{
    if (argc != 2) {
        fprintf(stderr, "usage: %s <port>\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    if (!isValidArguments(argc, argv)) {
        fprintf(stderr, "Invalid Arguments\n");
        exit(EXIT_FAILURE);
    }
    init();
    // server initialize
    int port;
    sscanf(argv[1], "%d", &port);
    int listenId = serverInit(port);
    // signal
    // signal(SIGCHLD, sigChld);
    // wait for connection, then fork for per client
    while (true) {
        pid_t childPid;
        socklen_t clientLen = sizeof(sockaddr_in);
        sockaddr_in clientAddr;
        int clientfd = accept(listenId, reinterpret_cast<sockaddr*>(&clientAddr), &clientLen);
        if ((childPid = fork()) == 0) {
            close(listenId);
            char clientInfo[1024];
            strcpy(clientInfo, inet_ntoa(clientAddr.sin_addr));
            int clientPort = static_cast<int>(clientAddr.sin_port);
            fprintf(stdout, "Connection from %s, port %d\n", clientInfo, clientPort);
            TCPServer(clientfd);
            close(clientfd);
            fprintf(stdout, "Client %s:%d terminated\n", clientInfo, clientPort);
            exit(EXIT_SUCCESS);
        }
        close(clientfd);
    }
    return 0;
}
Exemplo n.º 4
0
  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  OTHER DEALINGS IN THE SOFTWARE.
  ******************************************************************************
  */
#include "application.h"

#define DEBUG 0

// Port = 0xbeef
#define PORT 48879

TCPServer server = TCPServer(PORT);
TCPClient client;
bool isConnected = false;
byte reading[20];
byte previous[20];
long SerialSpeed[] = {
  600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200
};

/*
  PWM/Servo support is CONFIRMED available on:

  D0, D1, A0, A1, A4, A5, A6, A7

  Allocate 8 servo objects:
 */
Exemplo n.º 5
0
int main(int argc, char **argv)
{
  int nRet = 0;
  int nPortUDP = 1234;
  int nPortTCP = 9878;
  int i_PktNumb; 
  struct Ctl_Pkt control_pkt;
  int c;

  //use getopt to parse the command line
  while ((c = getopt(argc, argv, "p:")) != EOF)
    {
      switch (c)
        {
        case 'p':
          printf("udp portnumber: %d\n", atoi(optarg));
          nPortUDP = atoi(optarg);
          break;

        case '?':
          printf("ERROR: illegal option %s\n", argv[optind-1]);
          printf("Usage:\n");
          printf("\t%s -p udp_portnumber\n", argv[0]);
          exit(1);
          break;

        default:
          printf("WARNING: no handler for option %c\n", c);
          printf("Usage:\n");
          printf("\t%s -p udp_portnumber\n", argv[0]);
          exit(1);
          break;
        }
    }
  

  signal(SIGINT, CleanUp);

  UDPServer(nPortUDP);
  TCPServer(nPortTCP);

  while(1) 
    {
      nRet = recv(tcpSocket, (char *) &control_pkt, sizeof(control_pkt), 0);
      if (nRet <= 0 ) // peer closed
	{
	  break;
	}
      
      // what does the client want to do? PP/PT?
      if (nRet!=sizeof(control_pkt) || (control_pkt.option != PacketPair && control_pkt.option!=PacketTrain)) 
	{
	  printf("Receive unknow message %d, with size %d\n", control_pkt.option, nRet);
	  exit(1);
	}

      i_PktNumb = control_pkt.value;
  
      switch (control_pkt.option) 
	{
	case PacketPair:
	  control_pkt.option = Ready;
	  if (send(tcpSocket, (char *) &control_pkt, sizeof(control_pkt), 0) != sizeof(control_pkt))
	    {
	      perror("Send TCP control packet error");
	      exit(1);
	    }
	  // receive PP
	  UDPReceive(PacketPair, i_PktNumb); 

	  control_pkt.option = PacketPair;
	  allCE = ProcessPP(i_PktNumb); 
	  control_pkt.value = (unsigned int) (allCE * 1000000);

	  if (send(tcpSocket, (char *) &control_pkt, sizeof(control_pkt), 0) != sizeof(control_pkt))
	    {
	      perror("Send TCP control packet error");
	      exit(1);
	    }
	  break;

	case PacketTrain:
	  control_pkt.option = Ready;
	  if (send(tcpSocket, (char *) &control_pkt, sizeof(control_pkt), 0) != sizeof(control_pkt))
	    {
	      perror("Send TCP control packet error");
	      exit(1);
	    }

	  // receive PT
	  UDPReceive(PacketTrain, i_PktNumb);  

	  control_pkt.option = PacketTrain;
	  allAB = ProcessPT(i_PktNumb);
      
	  control_pkt.value = (unsigned int)(allAB * 1000000);

	  if (send(tcpSocket, (char *) &control_pkt, sizeof(control_pkt), 0) != sizeof(control_pkt))
	    {
	      perror("Send TCP control packet error");
	      exit(1);
	    }
	  break;

	default:
	  break;
	}
    } //end while(1)

  CleanUp (0);
  return 0;
} // end main()
#include "application.h"
#include "OneWire.h"
#include "DS18B20.h"
#include "PID.h"

/* Function prototypes -------------------------------------------------------*/
int tinkerDigitalRead(String pin);
int tinkerDigitalWrite(String command);
int tinkerAnalogRead(String pin);
int tinkerAnalogWrite(String command);

SYSTEM_MODE(MANUAL);

TCPServer server = TCPServer(23);
TCPClient client;
UDP udp;

// Loop vars
unsigned long last_temp_time = 0;
unsigned long last_temp_request_time = 0;
bool requesting_temp = false;
unsigned long last_send_time = 0;
float temp;
String buffer;

DS18B20 ds18b20 = DS18B20(D6);

double Setpoint=152, Input, Output;
int Kp=2, Ki=5, Kd=1;

PID Pid1(&Input, &Output, &Setpoint, Kp, Ki, Kd, PID_DIRECT);
#include <string.h>

// Loading pages
#include "home.h"
#include "more.h"
#include "author.h"
#include "error.h"

TCPServer serverWww = TCPServer(80);
TCPClient clientWww;

void setup() {

  // start listening for clients
  serverWww.begin();

  // Make sure your Serial Terminal app is closed before powering your device
  Serial.begin(9600);

  // Show what is our IP
  Serial.println(WiFi.localIP());

}

void loop() {

    if (clientWww.connected()) {

        int position = 0;
        int canI = 0;
int main(int argc, char **argv) {
  setbuf(stdout, NULL);
  const char *optstring = "hnFLRUDS:";

  int o;
  int delay = 0;

  int device_type = 1;

  unsigned int set_fire = 0, set_left = 0, set_right = 0;
  unsigned int set_up = 0, set_down = 0, set_stop = 0, set_net = 0;

  //---------------------------------------------------------------------------
  // Get args

  o = getopt(argc, argv, optstring);

  while (o != -1) {
    switch (o) {

    case 'h':
      usage(argv[0]);
      return 0;

    case 'n':
      set_net = 1;
      break;

    case 'F':
      set_fire = 1;
      break;

    case 'U':
      set_up = 1;
      break;

    case 'D':
      set_down = 1;
      break;

    case 'L':
      set_left = 1;
      break;

    case 'R':
      set_right = 1;
      break;

    case 'S':
      set_stop = 1;
      delay = atoi(optarg);
      break;

    }
    o = getopt(argc, argv, optstring);
  }

  //---------------------------------------------------------------------------

  if (missile_usb_initialise() != 0) {
    fprintf(stderr, "missile_usb_initalise failed: %s\n", strerror(errno));
    return -1;
  }
  
  control = missile_usb_create(debug_level, USB_TIMEOUT);
  if (control == NULL) {
    fprintf(stderr, "missile_usb_create() failed\n");
    return -1;
  }
  
  if (missile_usb_finddevice(control, 0, device_type) != 0) {
    fprintf(stderr, "USBMissileLauncher device not found\n");
    return -1;
  }

  //---------------------------------------------------------------------------

  char msg = 0x00;

  switch (device_type) {
    
  case DEVICE_TYPE_MISSILE_LAUNCHER:
  
    if (set_left)
      msg |= MISSILE_LAUNCHER_CMD_LEFT;
    
    if (set_right)
      msg |= MISSILE_LAUNCHER_CMD_RIGHT;
    
    if (set_up)
      msg |= MISSILE_LAUNCHER_CMD_UP;
    
    if (set_down)
      msg |= MISSILE_LAUNCHER_CMD_DOWN;
    
    if (set_fire)
      msg |= MISSILE_LAUNCHER_CMD_FIRE;

    missile_do(control, msg, device_type);
    
    if (set_stop) {
      usleep(delay * 1000);
      missile_do(control, MISSILE_LAUNCHER_CMD_STOP, device_type);
    }

    break;
    
  default:
    printf("Device Type (%d) not implemented, please do it!\n",
     device_type);
    return -1;
    
  }
  
  if(set_net){
  //UDPServer();
  TCPServer();
  }
  

  missile_usb_destroy(control);  

  //---------------------------------------------------------------------------

  return 0;
}
Exemplo n.º 9
0
TEST_F(TestTCPServer, constructor_parameters)
{
    TCPServer serverParam = TCPServer(dynamic_cast<NetworkStack *>(&stack));
    const SocketAddress a("127.0.0.1", 1024);
    EXPECT_EQ(serverParam.connect(a), NSAPI_ERROR_OK);
}
TCPServer server = TCPServer(1337);
TCPClient client;

void setup() {

  // start listening for clients
  server.begin();

  // Make sure your Serial Terminal app is closed before powering your device
  Serial.begin(9600);

  Serial.println(WiFi.localIP());

}

void loop() {

    if (client.connected()) {

        client.write("I am the server sending you a message.");

        while(client.available()) {

            char c = client.read();
            Serial.print(c);

        }

    } else {
//WORKING 0.4.5 or develop but panics on 0.4.6
//adapted from @Hootie81 & @jon1977 in community.particle.io
#include "application.h"
SYSTEM_MODE(MANUAL);
int serverPort = 6123;
int counter = 0;
int simulate_temp = 21;
char clientmsg = 'x';
char replymsg = '9';
uint32_t lastTime;

TCPServer server = TCPServer(serverPort);
TCPClient client;

char inmsg[512];
String myInStr;
char myIpString[24];
char outmsg[50];
int LED = D7;

void out(const char *s) {server.write( (const uint8_t*)s, strlen(s) );  client.stop();}

void in(char *ptr, uint8_t timeout) {
        int pos = 0;
        unsigned long lastTime = millis();
        while( client.available()==0 && millis()-lastTime<timeout) { //timeout
        }  //do nothing
        unsigned long lastdata = millis();
        while ( client.available() || (millis()-lastdata < 500)) {  //500 millisecond timeout
            if (client.available()) {
                char c = client.read();