Example #1
0
static int
receiver(int* arg)
{
    int len;
    char buffer[BUFFER_SIZE];
    network_address_t dest;

    if (NULL != remote_name) {
        network_translate_hostname(remote_name, dest);
        connection = minisocket_client_create(dest, port_num, &error);
    } else {
        connection = minisocket_server_create(port_num, &error);
    }

    if (NULL == connection) {
        printf("Connection error.\n");
        return -1;
    } else {
        minithread_fork(sender, NULL);
        printf("Connection successful. Type and enter to send messages.\n");
    }

    while (1) {
        buffer[BUFFER_SIZE] = '\0';
        len = minisocket_receive(connection, buffer, BUFFER_SIZE - 1, &error);
        buffer[len] = '\0';
        printf("[Received message]: %s", buffer);
    }

    return 0;
}
Example #2
0
int
serverMethod(int* arg) {
    char responseBuffer[30];

    minisocket_error error;

    //create server
    server = minisocket_server_create(PORT_NUM, &error);
    assert(error == SOCKET_NOERROR);
    assert(server != NULL);

    //send from server
    int packets_sent = minisocket_send(server, aText, strlen(aText), &error);
    assert(packets_sent == strlen(aText));
    assert(error == SOCKET_NOERROR);

    minisocket_close(server);

    minithread_sleep_with_timeout(15000);

    int response = minisocket_send(server, aText, strlen(aText), &error);
    assert(response == -1);
    assert(error == SOCKET_INVALIDPARAMS);

    error = SOCKET_NOERROR;

    //recreate server
    server = minisocket_server_create(PORT_NUM, &error);
    assert(error == SOCKET_NOERROR);
    assert(server != NULL);

    response = minisocket_receive(server, responseBuffer, 30, &error);
    assert(response == 20);
    assert(strcmp(responseBuffer, "bbbbbbbbbbbbbbbbbbbb") == 0);

    minithread_sleep_with_timeout(15000);

    //Assert that minisocket has closed
    response = minisocket_send(server, aText, strlen(aText), &error);
    assert(response == -1);
    assert(error == SOCKET_INVALIDPARAMS);

    fprintf(stderr, "Full Test Passed \n");

    return 0;

}
Example #3
0
int
create_server(int *arg) {
    minisocket_error error;
    int i = 0;
    printf("Server waits.\n");
    server_socket = minisocket_server_create(port,&error);
    printf("Server created.\n");
    minithread_fork(sender, &thread_id[i]);

	return 0;
}
Example #4
0
int
serverMethod(int* arg) {
    //char responseBuffer[30];

    minisocket_error error;

    //create server
    server = minisocket_server_create(PORT_NUM, &error);
    assert(error == SOCKET_NOERROR);
    assert(server != NULL);

    //Test sending a message of length 0
    int response = minisocket_send(server, aText, 0, &error);
    assert(response == 0);
    assert(error == SOCKET_NOERROR);

    //Test sending a message of length -5
    response = minisocket_send(server, aText, -5, &error);
    assert(response == -1);
    assert(error == SOCKET_INVALIDPARAMS);
    error = SOCKET_NOERROR;

    //Test sending a message of length 1, less than length of text buffer
    response = minisocket_send(server, aText, 1, &error);
    assert(response == 1);
    assert(error == SOCKET_NOERROR);

    //Test sending a message with NULL socket
    response = minisocket_send(NULL, aText, 1, &error);
    assert(response == -1);
    assert(error == SOCKET_INVALIDPARAMS);
    error = SOCKET_NOERROR;

    //Test sending a message with NULL message
    response = minisocket_send(server, NULL, 10, &error);
    assert(response == -1);
    assert(error == SOCKET_INVALIDPARAMS);
    error = SOCKET_NOERROR;

    //Test sending a message with length equal to length of strin buffer
    response = minisocket_send(server, bText, 20, &error);
    assert(response == 20);
    assert(error == SOCKET_NOERROR);

    //Test sending a message of length > MAX_LENGTH of message 
    response = minisocket_send(server, cText, 10000, &error);
    assert(response == 10000);
    assert(error == SOCKET_NOERROR);

    return 0;

}
Example #5
0
int transmit(int* arg) {
  char buffer[BUFFER_SIZE];
  int i;
  int bytes_sent;
  minisocket_t socket;
  minisocket_error error;

  minithread_fork(receive, NULL);
  // receiver = minithread_fork(receive, NULL);
  
  printf("in transmit\n");
  socket = minisocket_server_create(port,&error);
  printf("created a server\n");
  if (socket==NULL){
    printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
    return -1;
  }

  /* Fill in the buffer with numbers from 0 to BUFFER_SIZE-1 */
  for (i=0; i<BUFFER_SIZE; i++){
    buffer[i]=(char)(i%256);
  }

  /* send the message */
  bytes_sent=0;
  while (bytes_sent!=BUFFER_SIZE){
    int trans_bytes=
      minisocket_send(socket,buffer+bytes_sent,
		      BUFFER_SIZE-bytes_sent, &error);
  
    printf("Sent %d bytes.\n",trans_bytes);

    if (error!=SOCKET_NOERROR){
      printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
      /* close the connection */
      minisocket_close(socket);
    
      return -1;
    }   

    bytes_sent+=trans_bytes;
  }

  /* close the connection */
  minisocket_close(socket);

  return 0;
}
Example #6
0
int sender(int* arg)
{
    char buffer[BUFFER_SIZE];
    int i;
    int id;
    int bytes_sent;
    minisocket_t socket;
    minisocket_error error;

    id = *arg;
    //printf("*****GRADING: thread %d. Starting the server.\n", id);
    socket = minisocket_server_create(port[id],&error);
    if (socket==NULL) {
        printf("*****GRADING: thread %d.Can't create the server.\
               Error code: %s.\n", id, GetErrorDescription(error));
        return 0;
    } else {
Example #7
0
int server(int* arg) {
  minisocket_error error;
  minisocket_t socket;
  char* msg;
  int data_len;

  msg = "hello\n";
  data_len = strlen(msg) + 1;
  socket = minisocket_server_create(port,&error);
  printf("made a server\n");
  if (socket==NULL){
    printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
    return -1;
  }
  minisocket_send(socket, msg, data_len, &error);
  printf("sent my thang!\n");
  return 0;
}
Example #8
0
int server(int* arg) {
  int port;
  minisocket_t socket;
  minisocket_error error;

  port = *arg;
  
  socket = minisocket_server_create(port,&error);
  if (socket==NULL){
    printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
    return -1;
  }

  printf("Server connected on port %i\n", port);

  /* close the connection */
  minisocket_close(socket);

  return 0;
}
Example #9
0
int server(int* arg) {
    (void)arg; //unused

    char buffer[BUFFER_SIZE];

    minisocket_error error;
    minisocket_t *socket = minisocket_server_create(port,&error);
    if (socket==NULL){
        printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
        return -1;
    }

    // Fill in the buffer with numbers from 0 to BUFFER_SIZE-1
    for (int i=0; i<BUFFER_SIZE; i++){
        buffer[i]=(char)(i%256);
    }

    // send the message
    int bytes_sent=0;
    while (bytes_sent!=BUFFER_SIZE){
        int trans_bytes=
                minisocket_send(socket,buffer+bytes_sent,
                                BUFFER_SIZE-bytes_sent, &error);

        printf("Sent %d bytes.\n",trans_bytes);

        if (error!=SOCKET_NOERROR){
            printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
            /* close the connection */
            minisocket_close(socket);

            return -1;
        }

        bytes_sent+=trans_bytes;
    }

    minisocket_close(socket);
    return 0;
}
Example #10
0
File: handshake.c Project: obsc/os
int transmit(int* arg) {
  minisocket_t socket;
  minisocket_error error;

  printf("starting transmit\n");

  minithread_fork(receive, NULL);

  printf("continuing transmit\n");

  socket = minisocket_server_create(port,&error);
  if (socket==NULL){
    printf("ERROR: %s. Exiting. \n",GetErrorDescription(error));
    return -1;
  }

  printf("server connected\n");

  /* close the connection */
  minisocket_close(socket);

  return 0;
}