feat: initial set and sockets
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
#include "mysocket.h"
|
||||
|
||||
#include <winsock2.h>
|
||||
|
||||
int sock_platform_init() {
|
||||
#ifdef _WIN32
|
||||
WSADATA wsaData;
|
||||
|
||||
@@ -3,15 +3,18 @@
|
||||
|
||||
#ifdef _WIN32
|
||||
/* Windows */
|
||||
#define _WIN32_WINNT 0x0600
|
||||
#include <winsock2.h>
|
||||
#include <ws2tcpip.h>
|
||||
#else
|
||||
/* Unix */
|
||||
#define __USE_XOPEN2K
|
||||
#include <arpa/inet.h>
|
||||
#include <netdb.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,30 +1,29 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../../socket/mysocket.h"
|
||||
|
||||
void test_socket1() {
|
||||
void test_socket1(void) {
|
||||
sock_platform_init();
|
||||
|
||||
struct addrinfo hints, *res, *p;
|
||||
char ipstr[INET6_ADDRSTRLEN];
|
||||
memset(&hints, 0, sizeof hints);
|
||||
hints.ai_family = AF_UNSPEC;
|
||||
hints.ai_socktype = SOCK_STREAM;
|
||||
|
||||
char hostname[1024];
|
||||
printf("hostname> ");
|
||||
fscanf(stdin, "%s", hostname);
|
||||
|
||||
if (getaddrinfo(hostname, NULL, &hints, &res) != 0) {
|
||||
fprintf(stderr, "getaddrinfo()\n");
|
||||
fprintf(stderr, "getaddrinfo() failed\n");
|
||||
sock_platform_shutdown();
|
||||
return;
|
||||
}
|
||||
|
||||
for (p = res; p != NULL; p = p->ai_next) {
|
||||
void *addr = 0;
|
||||
char *ipver = 0;
|
||||
struct sockaddr_in *ipv4;
|
||||
|
||||
if (p->ai_family == AF_INET) {
|
||||
ipv4 = (struct sockaddr_in *)p->ai_addr;
|
||||
addr = &(ipv4->sin_addr);
|
||||
@@ -36,5 +35,6 @@ void test_socket1() {
|
||||
printf("%s: %s\n", ipver, ipstr);
|
||||
}
|
||||
|
||||
freeaddrinfo(res);
|
||||
sock_platform_shutdown();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user