Changeset - 90965e662451
[Not reviewed]
0 2 0
Christopher Esterhuyse - 5 years ago 2020-07-24 14:25:22
christopher.esterhuyse@gmail.com
concrete socket addresses
2 files changed with 34 insertions and 21 deletions:
0 comments (0 inline, 0 general)
examples/interop_pseudo_socket/main.c
Show inline comments
 
#include <netinet/in.h>
 
#include <stdio.h>
 
#include <stdlib.h>
 
#include <netinet/in.h> // definies socketaddr_in
 
#include <stdio.h>  // defines printf
 
#include <stdlib.h> // defines malloc, free
 
#include <unistd.h> // defines close
 
#include <arpa/inet.h> // defines inet_addr
 
#include "../../pseudo_socket.h"
 
#define BUFSIZE 512
 
int main() {
 
  // --- setup ---
 
  struct sockaddr_in addrs[2]; 
 
  /* (address structure initializations omitted) */
 
  int fd = rw_socket(AF_INET, SOCK_DGRAM, 0); 
 
  rw_bind(fd, (const struct sockaddr *)&addrs[0], sizeof(addrs[0]));
 
  rw_connect(fd, (const struct sockaddr *)&addrs[1], sizeof(addrs[1]));
 
  // --- communication ---
 
  char * buffer = malloc(BUFSIZE);
 
  size_t msglen, i;
 
  msglen = rw_recv(fd, (void *)buffer, BUFSIZE, 0);
 
  for(i=0; i<msglen; i++) {
 
    printf("%02X", buffer[i]);
 
  }
 
  // --- cleanup ---
 
  rw_close(fd);
 
  free(buffer);
 
  return 0;
 
    // --- setup ---
 
    struct sockaddr_in addrs[2]; 
 
    addrs[0].sin_family = AF_INET;
 
    addrs[0].sin_port = htons(8000);
 
    inet_pton(AF_INET, "127.0.0.1", &addrs[0].sin_addr.s_addr);
 
    addrs[1].sin_family = AF_INET;
 
    addrs[1].sin_port = htons(8001);
 
    inet_pton(AF_INET, "127.0.0.1", &addrs[1].sin_addr.s_addr);
 
    int fd = rw_socket(AF_INET, SOCK_DGRAM, 0); 
 
    rw_bind(fd, (const struct sockaddr *)&addrs[0], sizeof(addrs[0]));
 
    rw_connect(fd, (const struct sockaddr *)&addrs[1], sizeof(addrs[1]));
 
    // --- communication ---
 
    char * buffer = malloc(BUFSIZE);
 
    size_t msglen, i;
 
    msglen = rw_recv(fd, (void *)buffer, BUFSIZE, 0);
 
    for(i=0; i<msglen; i++) {
 
        printf("%02X", buffer[i]);
 
    }
 
    // --- cleanup ---
 
    rw_close(fd);
 
    free(buffer);
 
    return 0;
 
}
examples/interop_socket/main.c
Show inline comments
 
@@ -2,11 +2,17 @@
 
#include <stdio.h>  // defines printf
 
#include <stdlib.h> // defines malloc, free
 
#include <unistd.h> // defines close
 
#include <arpa/inet.h> // defines inet_addr
 
#define BUFSIZE 512
 
int main() {
 
    // --- setup ---
 
    struct sockaddr_in addrs[2]; 
 
    /* (address structure initializations omitted) */
 
    addrs[0].sin_family = AF_INET;
 
    addrs[0].sin_port = htons(8000);
 
    inet_pton(AF_INET, "127.0.0.1", &addrs[0].sin_addr.s_addr);
 
    addrs[1].sin_family = AF_INET;
 
    addrs[1].sin_port = htons(8001);
 
    inet_pton(AF_INET, "127.0.0.1", &addrs[1].sin_addr.s_addr);
 
    int fd = socket(AF_INET, SOCK_DGRAM, 0); 
 
    bind(fd, (const struct sockaddr *)&addrs[0], sizeof(addrs[0]));
 
    connect(fd, (const struct sockaddr *)&addrs[1], sizeof(addrs[1]));
0 comments (0 inline, 0 general)